控制browser.wait()的轮询频率(Fluent等待) [英] Controlling poll frequency of browser.wait() (Fluent Wait)

查看:179
本文介绍了控制browser.wait()的轮询频率(Fluent等待)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

故事:

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

In Java selenium language bindings there is a FluentWait class, that allows to tightly control how the expected condition would be checked:

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

Each FluentWait instance defines the maximum amount of time to wait for a condition, as well as the frequency with which to check the condition. Furthermore, the user may configure the wait to ignore specific types of exceptions whilst waiting, such as NoSuchElementExceptions when searching for an element on the page.

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

In other words, it's possible to change the polling interval in which the expected condition check is applied, which is by default 500ms. Plus, it's possible to set exceptions to ignore.

在Python中也是可能的,其中有相关的poll_frequencyignored_exceptions WebDriverWait类的参数.

It is also possible in Python, there are relevant poll_frequency and ignored_exceptions arguments to WebDriverWait class.

问题:

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

Is it possible to control the poll frequency in which the expected condition is verified when using browser.wait() in Protractor/WebDriverJS?

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

According to the browser.wait() documentation, there are only 3 possible arguments: a function which is an expected condition, a timeout value and an optional timeout error message. I hope there is a different setting or way to change the poll frequency.

推荐答案

在@Kirill S.的帮助下,经过进一步研究并检查了 .无法配置后续条件检查调用之间的间隔-它会尽快执行检查.

With the help of @Kirill S., after the further research and inspecting the WebdriverJS source code, I can conclude that there is no such thing as "poll frequency" in javascript selenium bindings. The interval between subsequent condition check calls cannot be configured - it performs the check as quick as possible.

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

This is not the same as in, for instance Python or Java selenium bindings, where there is a configurable timeout between the expected condition state checks. By default, it would wait for 500ms before the next check:

WebDriverWait默认情况下每500调用一次ExpectedCondition 毫秒,直到成功返回.成功的回报是为了 ExpectedCondition类型为Boolean返回true或不为null返回值 用于所有其他ExpectedCondition类型.

WebDriverWait by default calls the ExpectedCondition every 500 milliseconds until it returns successfully. A successful return is for ExpectedCondition type is Boolean return true or not null return value for all other ExpectedCondition types.

这篇关于控制browser.wait()的轮询频率(Fluent等待)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆