如何使用Firefox驱动程序读取警报消息?

时间:2012-07-26 05:19:50

标签: selenium selenium-webdriver selenium-firefoxdriver

我需要阅读警报&弹出窗口中显示的确认消息使用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

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

1 个答案:

答案 0 :(得分:5)

使用 -

导航到任何页面时,在testSample()方法中
driver.get("URL");

之后,您可以解释警报消息如何在第一位出现。

您确定显示的弹出消息是javascript alert还是正在打开的任何窗口。

如果是警告消息,则可以使用 -

访问它
driver.switchTo().alert();

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

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

您可以从here获取有关此内容的更多信息。