在Protractor中隐式放置哪里?

win*_*nuz 5 javascript wait angularjs protractor

如果我想使用implicitlyWait,我应该browser.manage().timeouts().implicitlyWait(5000); 在哪里进行测试?

Gir*_*tur 12

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

示例场景:

假设您有以下代码行 -

element(LOCATOR).getText();
Run Code Online (Sandbox Code Playgroud)

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

用法:

onPrepare: function(){
    browser.manage().timeouts().implicitlyWait(5000);
},
Run Code Online (Sandbox Code Playgroud)