UnhandledAlertException不会捕获警报异常

时间:2018-02-10 15:27:31

标签: java selenium webdriver

请查看此代码段:

try {
      myTransactionsPage.getEnterTransaction();

    } catch (UnhandledAlertException e) {
        String alertText = e.getAlertText();
        assertThat(alertText.contains("Please enter text"));
    }
    driver.switchTo().alert().accept();

我想对警告文本做出断言。当我按“添加交易' key(简单.click())我想捕获unhandleAlertException。这让我感到非常惊讶

org.openqa.selenium.UnhandledAlertException: unexpected alert open: {Alert text : Please enter text in the Paid To/From input box.}

你遇到过这个问题吗?捕获异常并没有抓住它?

2 个答案:

答案 0 :(得分:0)

我已经处理了警报异常,

  try {
    //click button
  } catch (UnhandledAlertException e) {
      Alert alert = driver.switchTo().alert();
      String alertText = alert.getText();
      assertThat(alertText.contains("Please enter text"));
      alert.accept();
  }

答案 1 :(得分:0)

当您不处理警报框时,将抛出UnexpectedAlertPresentException

使用硒无法在警告框内截图。您需要接受还是拒绝警报框。

在我的情况下,我接受警报框并获取URL的屏幕截图。

try {
   //capture the screenshot   
  } catch (UnexpectedAlertPresentException e) {
    Alert alert = driver.switchTo().alert();
    String alertText = alert.getText();
    System.out.println("ERROR: (ALERT BOX DETECTED) - ALERT MSG : " + alertText);
    alert.accept();
}