2013-06-12 100 views
1

我正在嘗試使用切換警報並執行一個操作,但我面臨錯誤。警報處理+ Java + webdriver

現在真正的問題是,當我把下面的代碼放在try中時,趕上它完美地工作。我的意思是它完美地處理警報。但是,當我用同樣沒有嘗試,捕捉代碼它拋出下面的異常

Alert alert = driver.switchTo().alert(); 
      String AlertText = alert.getText(); 
System.out.println(javascriptconfirm.getText()); 
      alert.accept(); 

請在下面找到

No alert is present (WARNING: The server did not provide any stacktrace information) 

回答

3

錯誤的想法是,當你處理提醒你必須檢查警報是否已首先出現。 我會用這種方法:

public boolean isAlertPresent() { 

    boolean presentFlag = false; 

    try { 

    // Check the presence of alert 
    Alert alert = driver.switchTo().alert(); 
    // Alert present; set the flag 
    presentFlag = true; 
    // if present consume the alert 
    alert.accept(); 

    } catch (NoAlertPresentException ex) { 
    // Alert not present 
    ex.printStackTrace(); 
    } 

    return presentFlag; 

} 

here你可以得到細節也不要忘了調試一步一步來了解哪些步驟警告/不出現出現。 希望這可以幫助你。

+0

正確。我早些時候使用了相同的方法(try/catch),並且能夠完美地處理它。只是想知道當你不使用try/catch語句時出了什麼問題。我將這標記爲增加更多意義的答案,並且標記這是處理它的一種方式。謝謝.. – Sriram

相關問題