首页 > 解决方案 > 有没有办法通过 webdriver 验收测试来做“如果我看到,那么……”?

问题描述

我正在使用 webdriver 进行验收测试。https://codeception.com/docs/03-AcceptanceTests#WebDriver 我遇到了一个问题,取决于是否启动了新功能,有时会弹出一个窗口来通知用户新功能。因此,根据我们在发布周期中所处的位置,该弹出窗口可能存在也可能不存在。有没有办法说:“如果我看到,请单击关闭”?

标签: selenium-webdriverwebdriverselenium-chromedrivercodeceptionacceptance-testing

解决方案


您没有说您使用的是哪种编程语言,但 Groovy (Java) 中的以下内容会检查警报/模式弹出窗口。您可以在方法中关闭它或在 if 语句中使用返回值。

您应该能够根据您的语言对其进行调整。

def isAlertPresent(driver){
    boolean foundAlert = false
    WebDriverWait wait = new WebDriverWait(driver, 10) //time-out secs
    try {
        wait.until(ExpectedConditions.alertIsPresent())
        foundAlert = true
    } catch (TimeoutException e) {
        foundAlert = false
    }
    return foundAlert
}

推荐阅读