browser.sleep() vs。browser.wait()

在處理計時問題時,提出一個快速的提示並繼續前進是很誘人的。

問題是,它有一天會失敗。關於要設定的睡眠超時沒有黃金/通用規則,因此,在某些時候由於網路或效能或其他問題,可能需要更多時間來載入頁面或元素變得可見等。此外,大多數情況下那時候,你最終會比實際應該更多地等待。

另一方面, browser.wait() 的工作方式不同。你為 Protractor / WebDriverJS 提供了一個 Expected Condition 函式來執行並等待函式的結果計算為 true。一旦函式的結果評估為真或達到可配置的超時,Protractor 將繼續執行該函式並停止。

有多個內建的預期條件,但你也可以建立和使用自定義條件( 此處為示例 )。