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——等待時間的測量單位
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
