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

ale*_*cxe 12 javascript selenium end-to-end selenium-webdriver protractor

故事:

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

每个FluentWait实例定义等待条件的最大时间量,以及检查条件的频率.此外,用户可以将等待配置为在等待时忽略特定类型的异常,例如在搜索页面上的元素时的NoSuchElementExceptions.

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

也可以在Python,有相关的poll_frequencyignored_exceptions参数WebDriverWait类.

问题:

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


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

ale*_*cxe 10

在@Kirill S.的帮助下,在进一步研究和检查WebdriverJS源代码之后,我可以得出结论,在javascript selenium绑定中没有"轮询频率"这样的东西.无法配置后续条件检查呼叫之间的间隔 - 它会尽快执行检查.

这与例如Python或Java selenium绑定不同,其中在预期条件状态检查之间存在可配置的超时.默认情况下,它会在下次检查前等待500毫秒:

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