Selenium Webdriver上的超时默认值
我感兴趣的selenium超时的默认值webdriver.
ImplicitlyWait,SetPageLoadTimeout
和SetScriptTimeout
。因为我想知道,我需要为这些超时设置值吗?或默认值适合selenium
webdriver工作。但是我找不到正确的答案,有人说默认值是0,而另一个人说是30秒。
回答:
这三个超时由Selenium方程的服务器端管理。您的脚本(使用Java,Python,Ruby,C#或其他任何语言)是将命令发送到位于浏览器中的服务器的客户端。(可能会有中介程序将命令中继到浏览器,例如Selenium网格。不幸的是,有时也称为“服务器”。)
源自Selenium 的WebDriver规范已确定以下值:
对于隐式等待:0秒。这意味着,如果selenium命令没有立即找到一个元素,它将立即报告,而不是等到找到一个元素。
对于页面加载:300秒。
对于脚本超时:30秒。
(规范以毫秒为单位给出值。为了方便阅读,我将其转换为秒。)
Selenium现在遵循WebDriver规范。
过去,Selenium为此使用了其他值。例如,Firefox驱动程序用于定义其超时,如下所示:
默认情况下,隐式等待超时设置为0。这意味着,如果找到元素的命令找不到任何内容,它将不会等待。
默认情况下,页面加载超时设置为-1。这意味着Selenium将无限期等待页面加载。
什么Saifur 发现是
不 一样的页面加载超时。这是Selenium客户端和Selenium服务器之间的超时,在Saifur找到的页面上没有特别说明。
- 默认情况下,脚本超时设置为0。源代码中的注释说明:
该会话应等待异步脚本完成执行的时间(以毫秒为单位)。如果设置为0,则直到脚本执行后的下一个事件循环,超时才会触发。这将使脚本使用基于0的setTimeout来完成。
因此,即使将其设置为零,异步脚本仍然可以执行,但是必须在Selenium的超时机会再次运行之前完成。
这来自Selenium用于Firefox的代码。其他浏览器使用不同的代码库,但至少在某些适合Selenium本身的事情(如这些超时)方面,它们应该表现出一致的行为。因此,其他浏览器的值及其解释也应相同。
以上是 Selenium Webdriver上的超时默认值 的全部内容, 来源链接: utcz.com/qa/399211.html