發生的問題
1、在執行UI自動化測試用例的過程中,發現因為網絡慢或其他原因導緻 driver.get(url) 時,web頁面一直在加載;
2、由于selenium工具的内部機制,導緻頁面沒有加載完成就不會去繼續執行下面的UI操作,但是實際上需要操作的Web元素已經加載出來了。
解決方法
第一步:使用 set_script_timeout() 設定等待最大時間。
driver = self.driver
# 設定頁面最大加載時間
driver.set_page_load_timeout(10)
try:
driver.get(self.base_url)
except TimeoutException:
print '!!!!!!time out after 10 seconds when loading page!!!!!!'
# 當頁面加載時間超過設定時間,通過js來stop,即可執行後續動作
driver.execute_script("window.stop()")