一尘不染

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

selenium

故事:

在Javaselenium语言绑定中,有一个FluentWaitclass,它可以严格控制如何检查期望的条件:

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

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

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

问题:

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


根据browser.wait()文档,只有3个可能的参数:预期条件的函数,超时值和可选的超时错误消息。我希望可以使用其他设置或方式来更改轮询频率。


阅读 354

收藏
2020-06-26

共1个答案

一尘不染

在@Kirill
S.的帮助下,经过进一步的研究和检查了WebdriverJS源代码,我可以得出结论,
javascript硒绑定中没有“轮询频率”之类的东西 。无法配置后续条件检查调用之间的间隔-它会尽快执行检查。

例如,在Python或Java硒绑定中
,这与预期条件状态检查之间存在可配置的超时时间不同。默认情况下,它将等待500毫秒再进行下一次检查

默认情况下,WebDriverWait每500毫秒调用ExpectedCondition,
直到成功返回。对于ExpectedCondition类型,成功返回是Boolean返回true,对于所有其他ExpectedCondition类型,返回值不为null。

2020-06-26