2012-07-26 44 views
3

我需要閱讀警報&彈出窗口中使用java顯示的確認消息,並將其打印在控制檯上。在硒記錄從IDE導出爲Junit4(webdriver的)的java文件,我的代碼是:如何使用Firefox驅動程序讀取警報消息?

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 

如何處理呢?還有沒有其他的方式來閱讀彈出消息?

回答

5

在當你瀏覽任何網頁testSample()方法通過使用 -

driver.get("URL"); 

之後,你可以解釋警報消息中的第1名是怎麼來的。

你確定彈出的消息是一個javascript alert或任何正在打開的窗口。

如果它是一個警告信息,那麼你可以通過訪問它 -

driver.switchTo().alert(); 

但是,如果彈出一個窗口在,那麼你將不得不使用 -

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

你可以從here獲取更多相關信息。