Selenium WebDriver中的自定义隐式等待使加载页面消失

时间:2015-06-26 15:12:49

标签: java selenium selenium-webdriver

在我的应用程序中,当我点击任何元素时,会显示等待图像。我可以创建一个explict等待等待该图像消失,但我必须在每次单击代码后写入。我想创建一个隐式等待。这样我每次都可以避免编写代码。

请帮忙。在此先感谢!!

2 个答案:

答案 0 :(得分:2)

只需应用"Extract method"重构方法即可。创建一个单独的可重用函数/方法,除了单击元素外,还会等待等待图像的不可见性。

这是一个简单的例子(应该明确改进):

public void clickAndWait(WebDriver driver, By by) {
    driver.findElement(by).click();

    WebDriverWait wait = new WebDriverWait(driver, 5);
    wait.until(ExpectedConditions.invisibilityOfElementLocated(By.id("waiting_image")));
}

答案 1 :(得分:2)

隐式显式等待之间存在显着差异。对于查找元素,显式等待始终是最佳选择。我建议编写一个自定义finElement()方法,其中显式等待烘焙,这样您就不需要每次都编写显式等待。你不想在任何地方使用隐式等待,因为如果元素不在那里,它将在你的测试执行中给出性能问题。