Jig*_*hah 8 selenium automated-tests selenium-ide
我正在输入一些值,在改变时做了总计.但不知何故,这个事件并没有被selenium type命令解雇.
我也试过typeKey和typeAt ..但没有成功.有什么解决方法吗?
Firefox有一个错误,可以防止在浏览器窗口失焦时执行某些事件.当您运行自动化测试时,这可能是一个问题 - 即使窗口没有聚焦,也可能会打字.
为了解决这个问题,我"手动"触发了更改事件,将javascript注入到我的测试中:
//suppose "element" is an input field
element.sendKeys("value");
JavascriptExecutor jsExecutor = (JavascriptExecutor) driver;
jsExecutor.executeScript("$(arguments[0]).change();", element);
Run Code Online (Sandbox Code Playgroud)
您可能已经注意到,我正在使用jQuery来触发更改事件.如果你没有在你的应用程序上使用jQuery,你可以在这里查看如何使用vanilla javascript触发它.
希望能帮到别人.
您的解决方案通常是通过查看 JavaScript 代码找到的。
您始终可以选择的一个选项是输入值并从代码中手动触发实际的 OnChange 事件。
关于此链接文本有一个未解决的 问题 FireFox Windows 未处于活动状态并阻止触发 OnChange。
在使用 typeKeys 命令之前尝试一下:
selenium.selectWindow(null);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
15975 次 |
最近记录: |