0

我已经使用 web 驱动程序支持的 selenium 编写了 junit 测试用例。我遇到过一种情况,有时selenium.isElementPresent()selenium.isTextPresent()会抛出NoSuchElementException.

为了摆脱这个问题,我一直在使用 Thread.sleep() 方法,然后再在网页上找到任何元素,它曾经工作正常,但是在页面已经完成加载的情况下,Thread.sleep() 会减慢我的测试用例的执行。

所以我想知道有没有什么方法可以确定网页中的所有元素是否都已经加载完毕,这样我就不必随意使用了Thread.sleep()

4

1 回答 1

0

我想你想要waitFor而不是Thread.sleep().

“waitFor”命令等待某个条件变为真(这对于测试 Ajax 应用程序很有用)。如果条件已经为真,它们将立即成功。但是,如果在当前超时设置内条件不成立,它们将失败并停止测试(请参阅下面的 setTimeout 操作)。

这是一篇深入探讨此主题的文章

于 2013-01-10T05:47:34.900 回答