java - Selenium webdriver 轮询时间

标签 java selenium polling

我期待关于 Selenium 中的 selenium webdriver 轮询时间的正确解释。

据我所知,下面的等待命令将等待 40 秒,直到特定元素可点击

  public void CreateSalesOrder(){
        WebDriverWait wait = new WebDriverWait(driver, 40);
        wait.until(ExpectedConditions.elementToBeClickable(btnNewSalesOrser));
            btnNewSalesOrser.click(); 
    }

在第二个代码片段中,我添加了“轮询”命令。

   public void CreateSalesOrder(){
        WebDriverWait wait = new WebDriverWait(driver, 40);
        wait.pollingEvery(2, TimeUnit.SECONDS);
        wait.until(ExpectedConditions.elementToBeClickable(btnNewSalesOrser));
        btnNewSalesOrser.click();
    }

轮询时间有什么用?

最佳答案

如果我们没有提及任何轮询时间,selenium 将默认轮询时间为 500 毫秒。即,脚本将每 500 毫秒检查一次网页中 web 元素的异常情况。您的第一个代码片段适用于此。

我们使用pollingEvery 来覆盖默认轮询时间。在下面的示例(您的第二个代码片段)中,脚本每 2 秒检查一次预期条件,而不是 500 毫秒。

public void CreateSalesOrder()
{
    WebDriverWait wait = new WebDriverWait(driver, 40);
    wait.pollingEvery(2, TimeUnit.SECONDS);
    wait.until(ExpectedConditions.elementToBeClickable(btnNewSalesOrser));
    btnNewSalesOrser.click();
}

这种轮询频率实际上可能有助于减少 CPU 过载。 有关详细信息,请参阅此 javadoc pollingEvery .

希望对您有所帮助。谢谢。

关于java - Selenium webdriver 轮询时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44645586/

相关文章:

java - 生成空输出文件的 Map Reduce 作业

java - JBoss WAR部署问题(缓存问题?)

java - 等待结果并不总是一样

jQuery,简单的轮询示例

ajax - HTTP 并行请求和 AJAX/轮询

java - 在单元测试中测试私有(private)组件

java - 递归求包括负数在内的数字之和

java - 在 Selenium Webdriver 中加密和解密密码

django - 在 Django 中加载用于 Selenium 测试的装置时出现完整性错误

java - 由多个进程同步轮询文件中的对象列表