我有一个带有复杂数据输入表单的 Web 应用程序,其中包含一些选项卡,其中包含各种配置项的输入字段。我正在编写一个测试,在不同选项卡上的字段中输入数据,然后执行保存。当我输入每个项目时,我会在继续下一步之前验证数据输入控件是否具有我选择的文本或值。我发现有时,但并非总是如此,当我移动到另一个选项卡时,前一个选项卡上的字段会丢失我输入的数据。
我该如何防止这种情况?
我在 Java 中使用 Selenium 2 和 WebDriver 并使用 Firefox 运行测试。
我在两个领域遇到问题:
第一个是简单的文本输入字段第二个是具有自动完成功能的文本输入框
这两个字段都是我在切换选项卡之前输入数据的最后一个字段。我在切换选项卡之前输入数据的其他字段都不会丢失数据。只是我在进入新标签之前与之互动的人。
我尝试检查在将文本发送到输入字段的方法的末尾是否加载了 JQuery,但这似乎没有帮助。检查 JQuery 的方法返回 true,有时数据仍会被擦除。
手动输入数据时不会发生这种情况,并且在另一个仅在一个选项卡上输入数据的自动化测试中也不会发生这种情况。
这是输入文本并且没有触发自动完成的待处理输入时自动完成字段的 html:
<div id="s2id_autogen5" class="select2-container select2-container-multi select2">
<ul class="select2-choices" style="">
<li class="select2-search-choice">
<div>
htm
</div>
<a class="select2-search-choice-close" tabindex="-1" onclick="return false;" href="#"></a>
</li>
<li class="select2-search-field">
<input class="select2-input" type="text" autocomplete="off" tabindex="0" style="width: 10px;"></input>
</li>
</ul>
</div>
这是简单文本输入字段的 html 源代码:
<td class="optionValue option_sr_test_object_url">
<input id="option_d03e6450-5990-4a31-8e84-5b1af89d2c47_sr_test_object_url" type="text" placeholder="e.g. /path/testobject.html" value="/path/test.html">
</input>
</td>