硒 - 等待网络流量
我们将Selenium与Java API和一些Javascript用户扩展一起使用。我们在应用程序中使用了很多 AJAX 调用。我们的许多测试都会随机失败,因为有时 AJAX 调用的完成速度比其他时间慢,因此页面未完全加载。我们通过等待特定元素或Thread.sleep来解决这个问题。我试图找到一种方法来等待网络流量完成。这样我们就可以这样做:
selenium.click("some JS button");
selenium.waitForNetwork();
assertTrue(something);
这样,当服务器响应更快并且不会因为时序问题而失败太多测试时,我们可以摆脱线程休眠状态,并使测试通过得更快。
我无法找到一种方法来搜索谷歌。有没有人对我们如何实现这一目标有任何想法?(最好通过Javascript或Java API,但欢迎所有建议)。
注意:“waitFor”的其他变体不是我想要的。我们已经在点击和其他方面使用了它们。我正在寻找等待网络流量的东西。感谢所有的反馈,我会尝试一些建议,但我仍然对其他想法持开放态度。
谢谢。