故事:
在Javaselenium语言绑定中,有一个FluentWaitclass,它可以严格控制如何检查期望的条件:
FluentWait
每个FluentWait实例都定义了等待条件的最长时间,以及检查条件的频率。此外,用户可以配置等待以在等待时忽略特定类型的异常,例如在页面上搜索元素时的NoSuchElementExceptions。
换句话说,可以更改应用预期条件检查的轮询间隔,默认情况下为500毫秒。另外,可以设置要忽略的异常。
它也可以在Python,有相关的poll_frequency和ignored_exceptions参数WebDriverWait类。
poll_frequency
ignored_exceptions
WebDriverWait
问题:
在Protractor / WebDriverJS中使用时,是否可以控制 轮询频率 以验证预期条件browser.wait()?
browser.wait()
根据browser.wait()文档,只有3个可能的参数:预期条件的函数,超时值和可选的超时错误消息。我希望可以使用其他设置或方式来更改轮询频率。
在@Kirill S.的帮助下,经过进一步的研究和检查了WebdriverJS源代码,我可以得出结论, javascript硒绑定中没有“轮询频率”之类的东西 。无法配置后续条件检查调用之间的间隔-它会尽快执行检查。
WebdriverJS
例如,在Python或Java硒绑定中 ,这与预期条件状态检查之间存在可配置的超时时间不同。默认情况下,它将等待500毫秒再进行下一次检查:
默认情况下,WebDriverWait每500毫秒调用ExpectedCondition, 直到成功返回。对于ExpectedCondition类型,成功返回是Boolean返回true,对于所有其他ExpectedCondition类型,返回值不为null。