Selenium - 当找不到元素时,测试冻结并且没有TimeoutException

时间:2018-04-10 12:06:08

标签: java selenium

    public boolean isElementPresent(final By locator, long seconds) {
    Wait wait = new FluentWait(driver)
            .withTimeout(Duration.ofSeconds(seconds))
            .pollingEvery(Duration.ofMillis(500))
            .ignoring(NoSuchElementException.class).ignoring(StaleElementReferenceException.class);
    try {
        wait.until(ExpectedConditions.presenceOfElementLocated(locator));
        return true;
    } catch (TimeoutException e) {
        Logger.warning("Element '" + locator + "' is not present");
        return false;
    }
}

使用下面的函数代码:

isElementPresent(someButton, 2)

当没有页面所需的元素时,测试会冻结大约40秒但是应该在我们设置的2秒后抛出TimeOutException。 测试冻结在以下行:

        wait.until(ExpectedConditions.presenceOfElementLocated(locator));

有人可以帮忙吗?在将selenium更新到3.11.0之前没关系

0 个答案:

没有答案