【问题标题】:Selenium : Check an Element present at any point of timeSelenium:检查任何时间点存在的元素
【发布时间】:2018-05-24 02:40:01
【问题描述】:

我正在寻找一些像@During 这样的黄瓜标签,它可以在任何时间点检查元素。例如,此代码将在我的测试的所有行中运行,并且如果出现警报,我想做一些在这一点上采取行动。

public boolean isAlertPresent() {

    boolean presentFlag = false;

    try {

        // Check the presence of alert
        Alert alert = this.getDriver().switchTo().alert();
        // Alert present; set the flag
        presentFlag = true;
        // if present consume the alert
        alert.accept();
        //( Now, click on ok or cancel button )

    } catch (NoAlertPresentException ex) {
        // Alert not present
        ex.printStackTrace();
    }

    return presentFlag;
}

【问题讨论】:

    标签: java google-chrome selenium-webdriver cucumber


    【解决方案1】:

    您可以创建一个实现接口WebDriverEventListener 的类。这个接口允许你为各种事件创建 beforeafter 钩子,例如afterClickOnafterFindByafterAlertAccept 等。这会让你调用你的方法isAlertPresent() 在这些事件挂钩之一中,并在脚本遇到它时处理弹出窗口。 如果您不需要实现所有钩子,您也可以让您的类扩展 AbstractWebDriverEventListener 抽象类。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-04
      • 2012-09-29
      • 1970-01-01
      • 1970-01-01
      • 2021-07-08
      • 2018-01-23
      • 2021-05-17
      • 1970-01-01
      相关资源
      最近更新 更多