硒工作太慢

时间:2015-07-24 14:52:54

标签: java selenium testing selenium-webdriver remotewebdriver

我们正在使用以下代码段,以便安全地传递到下一个测试步骤。

private void waitTextPresent(String toBeExpectedText) throws InterruptedException {
         for (int second = 0;; second++) {
                if (second >= 60) {
                       // not found
                }
                try {

                       if (driver.findElement(By.cssSelector("BODY")).getText()
                       .matches(toBeExpectedText))
                       break;
                } catch (Exception e) {
                }
                Thread.sleep(1000);
         }
   }

我们正在使用Selenium 2.44.0(这似乎是稳定的版本)。 Firefox版本为37.0,因为v38和v39存在问题且以前的版本速度很慢。

但是,即使此代码段运行速度太慢,以至于测试的总时间太长。有没有办法以更有效的方式重写这个片段?

1 个答案:

答案 0 :(得分:2)

您可以使用Expected Conditions.

根据您的要求,这一行代码就可以了。

new WebDriverWait(driver,60).until(ExpectedConditions.textToBePresentInElement(element, txt));