与 Java 的 Selenium

以下是如何使用 Selenium 处理 Java 中的弹出警报:

弹出窗口有 3 种类型。

  1. 简单警报 :警报(这是一个简单的警报);
  2. 确认警报 :var popuResult = confirm(“确认弹出,单击确定和取消按钮”);
  3. 提示警告 :var person = prompt(“你喜欢 stackoverflow 吗?”,“是/否”);

它的用户需要在他们的测试用例中处理哪种类型的弹出窗口。

你可以

  1. accept() 接受警报

  2. dismiss() 解除警报

  3. getText() 获取警报的文本

  4. sendKeys() 将一些文本写入警报

对于简单警报:

    Alert simpleAlert = driver.switchTo().alert();
    String alertText = simpleAlert.getText();
    System.out.println("Alert text is " + alertText);
    simpleAlert.accept();

对于确认警报:

    Alert confirmationAlert = driver.switchTo().alert();
    String alertText = confirmationAlert.getText();
    System.out.println("Alert text is " + alertText);
    confirmationAlert.dismiss();

对于提示警报:

    Alert promptAlert  = driver.switchTo().alert();
    String alertText = promptAlert .getText();
    System.out.println("Alert text is " + alertText);
    //Send some text to the alert
    promptAlert .sendKeys("Accepting the alert");
    Thread.sleep(4000); //This sleep is not necessary, just for demonstration
    promptAlert .accept();

根据你的需求。

另一种方法是将代码包装在 try-catch 中:

try{
   // Your logic here.
} catch(UnhandledAlertException e){
  Alert alert = driver.switchTo().alert();
  alert.accept();
}
// Continue.