2013-04-02 34 views
0

我在java中使用web驅動程序創建測試用例。我需要捕捉的情況,如果需要的網址是不是navigated.Follow是代碼如何處理未找到頁面或顯示異常

try{ 
    driver.get("url"); 
} catch(Exception e) { 
    System.out.println(e.getMessage); 
} 

我的要求是處理異常的我不能夠讓頁面的任何情況。

在此先感謝。如果您在driver.get()提供的網址導致了錯誤的頁面

+0

我認爲你將導航到包含一些HTML的HTTP 404頁面。這意味着你應該把它作爲「正常」頁面 –

回答

1

多個搜索谷歌試試這個:

boolean present = false; 
String pageName = driver.getTitle(); 
if(pageName.equals("Gmail: Email from Google")){ 
    present = true; 
} 

Assert.assertTrue(present, "Error during loading of Landing Page"); 

它會拋出斷言錯誤,如果沒有加載所需的頁面。

+0

來處理,謝謝你的寶貴意見 – Tester

0

driver.get(url)不會拋出異常。
您將需要使用driver.getCurrentURL()來檢查生成的URL是什麼,並將其與您的預期URL進行比較。
例如,可以(如果使用的是一個設計圖案PageObject)包括此在類的構造函數:

if (!driver.getCurrentUrl().equals(loginURL)) { 

       throw new IllegalStateException(
         "This is not the login page. Current page" + "is: " 
         + driver.getCurrentUrl()); 

另一種方法可以是,以驗證代表預期的頁面元素(一個或多個)的存在。如果找不到,則拋出異常。

0

你可以在你的應用程序配置自定義錯誤處理頁面。 在您的應用程序中使用自定義錯誤處理或異常處理頁面是一種很好的做法。

在你的情況爲404錯誤

附加以下在web.xml

<錯誤頁>

<錯誤代碼> 404 < /錯誤代碼>

<位置> /error404.jsp < /位置>

< /錯誤頁>

// -------------------

,並進行自定義錯誤處理JSP頁面error404.jsp

在頁面指令中設置isErrorPage =「true」。

閱讀isErrorPage網頁