控制browser.wait()的轮询频率(流利等待)

时间:2015-11-14 00:57:05

标签: javascript selenium selenium-webdriver protractor end-to-end

故事:

在Java selenium语言绑定中有一个FluentWait class,它允许严格控制如何检查预期条件:

  

每个FluentWait实例定义等待的最长时间   对于一个条件,以及检查的条件   条件。此外,用户可以配置等待忽略   等待时的特定类型的例外,例如   搜索页面上的元素时的NoSuchElementExceptions。

换句话说,可以更改应用预期条件检查的轮询间隔,默认情况下为500毫秒。另外,可以将异常设置为忽略。

also possible in Pythonpoll_frequency类有相关ignored_exceptionsWebDriverWait个参数。

问题:

在Protractor / WebDriverJS中使用browser.wait()时,是否可以控制验证预期条件的轮询频率

根据browser.wait() documentation,只有3个可能的参数:一个是预期条件的函数,一个超时值和一个可选的超时错误消息。我希望有不同的设置或方法来改变投票频率。

1 个答案:

答案 0 :(得分:10)

在@Kirill S.的帮助下,在进一步研究和检查WebdriverJS source code之后,我可以得出结论,没有"轮询频率"在javascript selenium绑定。无法配置后续条件检查调用之间的间隔 - 它会尽快执行检查。

这与例如Python或Java selenium bindings 不同,其中在预期的条件状态检查之间存在可配置的超时。默认情况下,it would wait for 500ms before the next check

  

默认情况下,WebDriverWait每500次调用一次ExpectedCondition   毫秒直到它成功返回。成功的回归是为了   ExpectedCondition类型是布尔返回true或非null返回值   对于所有其他ExpectedCondition类型。