與 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.