Selenium WebDriver提供了隐式等待来同步测试。当使用了隐式等待执行测试的时候,如果WebDriver没有在DOM中找到元素,将继续等待,超出设定时间后,抛出找不到元素异常

即,当元素没有立即出现的时候,隐式等待将等待一段时间后,再查找DOM。默认时间是0。

一旦设置了隐式等待,它将存在在整个webdriver对象实例的生命周期中,隐式等待会让一个正常响应的应用的测试变慢,会在寻找每个元素时进行等待,这样增加了整个测试执行的时间。

应该避免或减少使用隐式等待

//等待60s

driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);

 

注:

WebDriver.Timeouts implicitlyWait(long time, java.util.concurrent.TimeUnit unit)

当查找的元素没有立即出现的时候,指定driver的等待时间

当查找一个元素的时候,driver应该轮询页面直到 该元素被找到或者超出设置的超时时间(在抛出一个NoSuchElementException异常之前)

当查找一组元素的时候,driver应该轮询页面直到 至少找到一个元素或者超出设置的超时时间

增加隐等待超时应谨慎使用,因为它会对测试执行时间产生不利的影响,在使用像的XPath这样较慢的定位策略时尤其如此。

参数:

time——等待时间的值

unit——等待时间的测量单位

posted on 2015-01-05 17:30  MissPersist  阅读(1040)  评论(0编辑  收藏  举报