在实现 filepicker.io 之后,我们的一些 Selenium 回归测试开始失败。失败(间歇性的,但在某些情况下更常见)是通过 XPath 查询找到的 WebElements 上的点击被忽略。例如
driver.findElement(By.xpath("//a[text()='Demo data']")).click();
在 findElement() 和 click() 之间添加 Sleep(2000) 通常可以解决问题。(我说一般是因为 Sleep(1000) 基本上就足够了,直到它不够,所以我把它变成了 Sleep(2000)...)
检查 element.isDisplayed() 没有帮助。如果我们停止包含 filepicker.io JavaScript 文件,问题就会消失。
这与 filepicker.io 引入 IFRAME 有关吗?我们还注意到 JQuery 的 document.ready() 现在似乎被调用了两次。