如果我想使用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/

10-13 06:12