鍍金池/ 教程/ Python/ 異常處理
log4j日志
Selenium IDE測(cè)試創(chuàng)建
Selenium - IDE模式匹配
Selenium教程
多瀏覽器測(cè)試
Selenium IDE下載
Selenium用戶擴(kuò)展
鍵盤操作
捕捉屏幕截圖
Selenium網(wǎng)格
Selenium TestNG
Selenium定位器
查找所有鏈接
Selenium測(cè)試設(shè)計(jì)技術(shù)
鼠標(biāo)操作
下拉框交互
Selenium IDE驗(yàn)證點(diǎn)
Selenium IDE- 不同的瀏覽器
Selenium RC
多選擇操作
復(fù)選框交互
單選按鈕互動(dòng)
捕捉視頻
拖放
Selenium IDE 測(cè)試
Synchronization 同步
異常處理
Selenium 環(huán)境安裝設(shè)置
Selenium概述
用戶交互
Selenium Webdriver
Selenium IDE
Selenium頁(yè)面對(duì)象模型
Selenium IDE 工具特點(diǎn)
使用Excel數(shù)據(jù)驅(qū)動(dòng)
Selenium - Selenese命令

異常處理

異常處理

當(dāng)我們正在開發(fā)測(cè)試中,我們要確保,即使測(cè)試失敗的腳本可以繼續(xù)執(zhí)行。如果最壞的情況都處理不好意外的異常會(huì)被拋出。

如果發(fā)生異常,由于無法找到元素,或者預(yù)期的結(jié)果不與實(shí)際值相符,我們應(yīng)該抓住這個(gè)異常并結(jié)束測(cè)試的邏輯方式,以防腳本本身突然終止。

語(yǔ)法

實(shí)際的代碼應(yīng)該放在try塊和異常后的動(dòng)作應(yīng)該放在catch塊。請(qǐng)注意:“finally'塊就算沒有問題,不管腳本是否已經(jīng)被拋出的異常都會(huì)執(zhí)行。

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.
}

示例

如果沒有找到(因?yàn)槿魏魏玫睦碛?元素,我們應(yīng)該確保走出的功能順利。所以,總是需要有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);
  }
}

上一篇:用戶交互下一篇:Selenium IDE 測(cè)試