異常處理

異常處理

當我們正在開發測試中,我們要確保,即使測試失敗的腳本可以繼續執行。如果最壞的情況都處理不好意外的異常會被拋出。

如果發生異常,由於無法找到元素,或者預期的結果不與實際值相符,我們應該抓住這個異常並結束測試的邏輯方式,以防腳本本身突然終止。

語法

實際的代碼應該放在try塊和異常後的動作應該放在catch塊。請注意:「finally'塊就算沒有問題,不管腳本是否已經被拋出的異常都會執行。

try { //Perform Action } catch(ExceptionType1 exp1) { //Catch block 1 } catch(ExceptionType2 exp2) { //Catch block 2 } catch(ExceptionType3 exp3) { //Catch block 3 } finally { //The finally block always executes. }

示例

如果沒有找到(因爲任何好的理由)元素,我們應該確保走出的功能順利。所以,總是需要有try-catch塊,如果想要的跟做的是一樣的。

public static WebElement lnk_percent_calc(WebDriver driver)throws Exception { try { element = driver.findElement(By.xpath(".//*[@id='menu']/div[4]/div[3]/a")); return element; } catch (Exception e1) { // Add a message to your Log File to capture the error Logger.error("Link is not found."); // Take a screenshot which will be helpful for analysis. File screenshot = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); FileUtils.copyFile(screenshot, new File("D:frameworkscreenshots.jpg")); throw(e1); } }