3

我需要使用 java 阅读弹出窗口中显示的警报和确认消息并将其打印在控制台上。在将 IDE 中的 selenium 记录导出为Junit4 (WebDriver) java 文件时,我的代码是:

private WebDriver driver;
private String baseUrl;
private StringBuffer verificationErrors = new StringBuffer();

@Before
public void setUp() throws Exception {
driver = new FirefoxDriver();
}

现在当我尝试使用getAlertgetConfirmation功能如图所示:

@Test
public void testSample() throws Exception {
Alert alert = driver.switchTo().alert();
message = alert.getText();
System.out.println("message is "+message);
}

我收到以下错误:

java.lang.NullPointerException
at com.example.tests.Sample.testSample(Sample.java:40)
at com.example.tests.Sample.main(Sample.java:149)
Exception: null

我该如何处理?还有其他阅读弹出消息的方法吗?

4

1 回答 1

5

在 testSample() 方法中,当您使用 - 导航到任何页面时

driver.get("URL");

之后,您能否解释一下警报消息是如何出现在第一位的。

您确定出现的弹出消息是一个javascript alert或任何正在打开的窗口。

如果它是一条警报消息,那么您可以使用 -

driver.switchTo().alert();

但是,如果弹出窗口是另一个窗口,那么您将不得不使用 -

driver.switchTo().window("windowName");

您可以从这里获得更多信息。

于 2012-07-26T14:09:05.837 回答