我們發現使用WebDriver的過程中,TESTCASE在執行時,并非只有GET(Url)的時候會發生測試CASE卡主的問題,以下是對會發生此情況的函數的補充
driver.findelement(String locator) //查找頁面元素
driver.refush(); //刷新頁面
driver.getpagesource(); //獲取頁面html文本輸出
element.click();//點擊頁面元素
見過檢查發現上述函數在加載頁面或查找頁面元素的時候,若發生由于網絡原因或者頁面模塊加載出現問題時,頁面都會在這個過程中卡住,直接的后果是這個CASE持續執行幾小時沒結果。在 穩定性1文中我們已經介紹過處理的方法,在這里只針對某一個函數去放出部分代碼,
具體思路為
以driver.refush();為例
線程實現的代碼
核心調用的刷新頁面的函數
refreshThread();實現
調用流程
主CASE執行刷新函數?刷新函數調用子線程?子線程執行刷新?執行完畢告訴主線程OK。
若主線程判斷子線程超時既頁面卡主的情況,則主線程會關閉子線程執行相應的FAIL操作。
歡迎交流~