我使用网络驱动程序支持的selenium编写了junit测试用例。
我遇到过有时selenium.isElementPresent()
或selenium.isTextPresent()
会抛出NoSuchElementException
的情况。
为了摆脱这个问题,我在网页上找到任何元素之前一直在使用Thread.sleep()方法,并且它曾经工作正常但是,如果页面已经完成加载,Thread.sleep( )减慢我的测试用例的执行速度。
所以我想知道有没有什么方法可以确定网页中的所有元素是否已经完成加载,这样我就不必随意使用Thread.sleep()
?
答案 0 :(得分:0)
我认为你想要waitFor
而不是Thread.sleep()
。
“waitFor”命令等待某些条件变为true(这对于测试Ajax应用程序非常有用)。如果条件已经成立,他们将立即成功。但是,如果在当前超时设置中条件没有变为真,它们将失败并停止测试(请参阅下面的setTimeout操作)。