Firefox WebDriver随机不实际执行点击

时间:2016-05-26 13:01:17

标签: c# selenium selenium-webdriver selenium-firefoxdriver

我们的Selenium测试是在C#中开发的,并且运行良好数月,但最近我们注意到,当使用Firefox WebDriver执行时,许多测试开始失败。

在调查测试结果并在本地执行测试后,我们注意到有时会执行随机元素的点击(我们可以判断,因为按钮或链接的可视状态变为看似点击的元素)

浏览器控制台未指出任何错误。 WebDriver日志显示已执行点击。

将不胜感激任何帮助。

修改

  • Selenium WebDriver版本 - 2.53.0
  • Firefox的版本 - (少数尝试)33.0.1,43.0.1,45.0,46.0.1
  • Firefox规模100%
  • 尝试打开和关闭本机事件
  • 在点击
  • 之前尝试了额外的隐式等待

3 个答案:

答案 0 :(得分:0)

您的问题不是很具体,所以我会尝试提供可以选择解决问题的方法。

您没有说明您使用的驱动程序和浏览器版本。如果你几个月没有观察到失败,他们突然出现了,我的第一个猜测就是你在测试机器上使用的FF版本得到了更新(或者测试中的驱动程序版本被更改了),并且新的组合可以以不同的方式工作。当测试行为发生变化时,我有这种情况,更新驱动程序版本有帮助。

另一种选择是尝试查看哪些webelements比其他项目更频繁地被错误点击,并插入指令,检查它们是否在执行实际点击之前显示。

此外,尝试逐步调试(如果您还没有),看看您是否发现了错误的点击次数

答案 1 :(得分:0)

我们在测试中看到的一件事是,如果我们在VM上运行Selenium测试时点击VM,它实际上可以防止点击熄灭。

但我们遇到的另一件事是,点击通常无法正常运行,因此您可以通过使用JavaScript点击而不是Selenium来解决这个问题。

对于定期失败的元素,将element.Click()切换为使用以下代码的方法:

IJavaScriptExecutor executor = driver as IJavaScriptExecutor;
executor.ExecuteScript("arguments[0].click();", ElementToClick)

答案 2 :(得分:0)

所以问题是,即使手动点击,点击也不起作用,所以我们会调查这个方向。