APP自動化之三大等待(四)

2022-07-10 17:15:10 字數 1372 閱讀 6109

硬性等待

thread.sleep(long millis); 

例項:

thread.sleep(1000); 1秒

優點:使用簡單

缺點:容易造成時間浪費

隱式等待

在設定的超時時間範圍內不斷查詢元素,直到找到元素或者超時 如:設定等待時間為5秒,在第3秒找到元素,不再繼續等待

設定方式

driver.manage.timeouts().implicitlywait(long time, timeunit unit);

例項:

driver.manage().timeouts().implicitlywait(5, timeunit.seconds);

優點:相對靈活

缺點: 設定是針對全域性的,在webdriver例項整個生命週期有效,但並不是所有的元素都需要等待。

不能適用條件更複雜的情況,如:元素可點選、元素可見

顯式等待

顯式等待通常是我們自定義的一段**,用來等待某個條件發生後再繼續執行後續**(如找到元素、 元素可點選、元素已顯示等)

使用方式:

webdriverwait wait = new webdriverwait(); webelement element = wait.until(expectcondition);

優點: 每隔一段時間掃瞄一次頁面,檢查元素是否滿足等待結果條件,比如查詢元素,則檢查元素是否存在, 不存在則繼續等待,直到找到或超時。 該方式不是全域性設定,因此特定需要等待的元素可以這樣處理,推薦優先使用這一種方法。

顯式等待例項:

1、例項化webdriverwait物件 (設定顯示等待的超時時間)

webdriverwait webdriverwait = new webdriverwait(driver,5);

2、使用webdriverwait所提供的until方法(直到某個條件滿足時為止)顯示等待和隱式等待的區別

總結三大等待 thread.sleep() 隱式等待 顯示等待

UI自動化 三大等待

下面介紹三大等待 顯示等待 webdriverwait 顯示等待,同樣也是 webdirver 提供的方法。在設定時間內,預設每隔一段時間檢測一次當前頁面元素是否存在,如果超過設定時間檢測不到則丟擲異常。預設檢測頻率為0.5s,預設丟擲異常為 nosuchelementexception 例 fro...

APP自動化測試之常見API 3 三種等待

自動化測試之常見api 3.三種等待 gui自動化測試 執行過程中,往往通過定位頁面元素屬性來操作元素,但往往由於網路和本身 等問題,導致要操作的元素可能沒等定位到就報錯找不見某屬性的元素,從而指令碼停止執行。通俗點講,就是 跑的太快,但頁面元素載入過慢而導致定位不到元素出錯的問題。如何解決呢?通常...

APP自動化測試框架

1.instrumentation instrumentation 2.uiautomator uiautomator 3.robotium 4.monkey monkey 是android中的乙個命令列工具,可以執行在模擬器裡或實際裝置中。它向系統傳送偽隨機的使用者事件流 如按鍵輸入 觸控螢幕輸入...