我们的Selenium测试是在C#中开发的,并且运行良好数月,但最近我们注意到,当使用Firefox WebDriver执行时,许多测试开始失败。
在调查测试结果并在本地执行测试后,我们注意到有时会执行随机元素的点击(我们可以判断,因为按钮或链接的可视状态变为看似点击的元素)
浏览器控制台未指出任何错误。 WebDriver日志显示已执行点击。
将不胜感激任何帮助。
修改
答案 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)
所以问题是,即使手动点击,点击也不起作用,所以我们会调查这个方向。