UI自動化測試 4 三種等待方式

2021-09-23 23:48:02 字數 957 閱讀 3683

為了解決網路延遲等導致的載入元素 時間不一致.

**執行的速度像火箭,頁面操作慢的像蝸牛, 為了等下蝸牛必須等會 以達到同步.

當找不到元素的時候, 會等待一段時間,超過了就報 exception

driver.implicitly_wait(10), 在setup 設定 達到全域性等待的效果.

webdriver 提供了 webdriverwait 和 expected_conditions 來實現顯示

webdriverwat(self.driver,10).unitl(expected_conditions.element_to_be_clickable((by.name,「name」)))

查詢元素可見並可操作,超過十秒 報exception.

webdriverwait(self.driver,10).until(expected_conditions.element_to_be_presence_of_element_located((by.id,"id)))

檢視元素是否存在

webdriverwait(self.driver,10).until(expected_conditions.title_contains(「i love you」))

直到 標題 包含 i love you

alert=webdriverwait(self.driver,10).until(expected_conditions.is_alert_presence())

alert_text=alert.text

獲取 alert 物件 , 並儲存text.

總結: unitl 後邊是個判定式 ,當為true 的時候就執行, 所以要靈活應用.

#強制執行等待

think.time(10)

總結:1.顯示和**等待 的區別在於, 顯示需要判斷 才執行, **是全域性等待 實際會浪費實際的,不如顯示靈活

2.顯示和**等待 不要同時 應用

UI自動化 三大等待

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

自動化測試的3種等待方式

1 強制等待,硬性等待。time.sleep 暫停 執行,強制等待x秒後繼續執行 2 智慧型等待,隱性等待,driver.implicitly wait 1 啟動瀏覽器的時候設定一次,只能用來等待元素出現 webdriverwait driver timeout 10,poll frequency ...

三種自動化測試模式

什麼是robotframework 先談關鍵字驅動 例如假如我們以測試計算器功能為例,參照官方github上的例子 次談資料驅動 資料驅動引入了乙個非常有效的概念,即 模板 概念,在很多測試場景下,測試人員輸入的操作是有一定重複性的,區別只在於輸入的資料,還是以登陸為例,除了包含正常的測試用例,還需...