当运行硒测试时,当火狐窗口不在焦点上时,Onblur 事件触发会变得混乱
Onblur event firing gets messed up when firefox window is not in focus while running a selenium test
>我有一个表格,我检查 2 个密码是否相等。确认密码字段使用 onblur 事件来检查键入的内容是否等于密码字段。手动测试时一切正常。通过自动硒测试,如果我将焦点放在浏览器上,它也可以工作。这并不总是可能的,因为我有时必须运行并行测试。每当焦点丢失时,验证都会失败。我尝试使用以下行来触发 onblur 事件
但该事件似乎从未被解雇。即使我在浏览器控制台的文本字段上触发了 blur 事件,直到我单击文本字段并再次在控制台上运行命令,它才会被调用。不知道我怎样才能让硒正确触发事件。public void triggerBlurEventById(String id)
{
((JavascriptExecutor) WebDriverHelper.getDriver())
.executeScript("document.getElementById('" + id + "').blur();");
}
这可能不适用于您的情况,但我所做的一种似乎有效的解决方法,至少对于焦点而言,是执行脚本两次。这实际上是我的代码中的内容:
((JavascriptExecutor) driverHelper.getDriver()).executeScript("$(arguments[0]).focus();", element);
((JavascriptExecutor) driverHelper.getDriver()).executeScript("$(arguments[0]).focus();", element);
从理论上讲,您还应该能够使用这样的东西:
new Actions(driverHelper.getDriver()).moveToElement(element).click().build().perform();
我在操作方面也遇到了一些间歇性问题,尤其是在进行开发工作时,除非浏览器窗口是主动选择的窗口,否则操作将无法正确发生。
相关文章:
- 分派点击事件并保留击键修饰符
- 模糊事件的Javascript测试
- keyup事件处理程序更改焦点不适用于快速键入
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 如何使Javascript动态html表及其上的事件
- 使用类从一个标记中双击事件
- 如何在未直接触发的情况下停止事件
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- 对iPad上的点击事件反应缓慢
- 事件和状态
- Fancybox是否将Click事件静音
- 主干-不管怎样,检查事件以前是否绑定过
- 从控制器返回后Ajax启动事件激发
- 如何从画布上的某个移动事件中获取X和Y
- 多次单击事件 - 混乱
- 当运行硒测试时,当火狐窗口不在焦点上时,Onblur 事件触发会变得混乱
- Javascript中有关事件处理的混乱
- 函数调用混乱的事件处理
- 事件传播混乱
- .on().of()事件冒泡问题(太混乱了..)