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

在处理计时问题时,提出一个快速的提示并继续前进是很诱人的。

问题是,它有一天会失败。关于要设置的睡眠超时没有黄金/通用规则,因此,在某些时候由于网络或性能或其他问题,可能需要更多时间来加载页面或元素变得可见等。此外,大多数情况下那时候,你最终会比实际应该更多地等待。

另一方面, browser.wait() 的工作方式不同。你为 Protractor / WebDriverJS 提供了一个 Expected Condition 函数来执行并等待函数的结果计算为 true。一旦函数的结果评估为真或达到可配置的超时,Protractor 将继续执行该函数并停止。

有多个内置的预期条件,但你也可以创建和使用自定义条件( 此处为示例 )。