Selenium webdriver轮询时间

Ran*_*lva 4 java selenium polling

我期待有关Selenium中硒webdriver轮询时间的正确解释.

据我所知,下面的wait命令会等待40秒,直到特定元素被点击为止

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

在第二个代码片段中,我添加了"轮询"命令.

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

轮询时间有什么用?

san*_*mar 10

如果我们没有提到任何轮询时间,硒将默认轮询时间为500毫秒.即,脚本将每500毫秒检查一次网页中的webelement的例外情况.您的第一个代码段适用于此.

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

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

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

希望这对你有所帮助.谢谢.