故事:
在Java selenium语言绑定中有一个FluentWait
class,它允许严格控制如何检查预期条件:
每个FluentWait实例定义等待的最长时间 对于一个条件,以及检查的条件 条件。此外,用户可以配置等待忽略 等待时的特定类型的例外,例如 搜索页面上的元素时的NoSuchElementExceptions。
换句话说,可以更改应用预期条件检查的轮询间隔,默认情况下为500毫秒。另外,可以将异常设置为忽略。
also possible in Python,poll_frequency
类有相关ignored_exceptions
和WebDriverWait
个参数。
问题:
在Protractor / WebDriverJS中使用browser.wait()
时,是否可以控制验证预期条件的轮询频率?
根据browser.wait()
documentation,只有3个可能的参数:一个是预期条件的函数,一个超时值和一个可选的超时错误消息。我希望有不同的设置或方法来改变投票频率。
答案 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类型。