在Protractor中隐式放置哪里?

时间:2015-10-23 09:56:01

标签: javascript angularjs protractor wait

如果我想使用implicitlyWait,我应该放置browser.manage().timeouts().implicitlyWait(5000); 在测试中?

1 个答案:

答案 0 :(得分:11)

将它添加到量角器的conf.js文件的onPrepare()函数中。添加implicitlyWait()的原因是因为隐式等待是量角器在传递或抛出操作错误之前等待的默认时间。让量角器知道隐含的等待时间是什么,甚至在测试开始之前是使用它的最佳方式,onPrepare()函数在所有测试套件之前运行并且只运行一次。

示例方案:

假设您有以下代码行 -

element(LOCATOR).getText();

在您的测试规范中,量角器在启动页面自动化后执行它。现在,如果在页面上找不到指定了定位器的元素,则量角器不会立即抛出错误,但它会等待implicit等待时间完成。同时,直到隐式超时,它检查元素是否可以位于DOM上。在implicit等待时间结束时,如果找不到元素,则量角器会抛出相应的错误。因此,对于您执行的所有操作,有必要让量角器事先知道隐含的等待时间。

<强>用法:

onPrepare: function(){
    browser.manage().timeouts().implicitlyWait(5000);
},
相关问题