如果我想使用implicitlyWait
,我应该将browser.manage().timeouts().implicitlyWait(5000);
放在哪里
在测试中?
最佳答案
将其添加到 Protractor 的conf.js文件的onPrepare()
函数中。之所以要添加 implicitlyWait()
是因为隐式等待是 Protractor 在为操作传递或引发错误之前等待的默认时间。让 Protractor 知道隐式等待时间是什么,即使在测试开始之前也是最好的利用方式,并且onPrepare()
函数在所有测试套件之前运行并且只有一次。
示例方案:
假设您有以下代码行-
element(LOCATOR).getText();
在您的测试规范中, Protractor 在启动页面上的自动化后执行它。现在,如果在页面上找不到指定了定位器的元素,则 Protractor 不会立即引发错误,但会等待
implicit
等待时间完成。同时,在隐式超时之前,它将检查元素是否可以位于DOM上。如果没有找到该元素,则在implicit
等待时间结束时, Protractor 将引发相应的错误。因此,对于您执行的所有操作,有必要让 Protractor 提前知道隐式等待时间。用法:
onPrepare: function(){
browser.manage().timeouts().implicitlyWait(5000);
},
关于javascript - 在何处隐式等待 Protractor ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33299567/