您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 > Selenium
Selenium遇到異常自動截圖
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2015/9/23 14:35:03 ] 推薦標(biāo)簽:TestNG 功能測試工具

  近要在框架中添加case失敗時(shí),要自動截圖,坐下總結(jié)。
  1.只針對webdriver的異常截圖,重寫onException,該方法由于只針對webdriver拋的異常時(shí)才能截圖,有一定的限制
public void onException(java.lang.Throwable throwable,
WebDriver driver){
Throwable cause = throwable.getCause();
/*
String cause = throwable.getClass().getName();
ScreenshotException ec = new ScreenshotException(cause);
*/
System.out.println(throwable.getClass().getName());
System.out.println("onException=" + cause);
Date currentTime = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd-hh-mm-ss");
String dateString = formatter.format(currentTime);
File scrFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
try {
File screenshot = new File("D:/ddd/"
+ dateString  + ".png");
FileUtils.copyFile(scrFile,screenshot);
} catch (IOException e) {
e.printStackTrace();
}
}
  測試類,要用EventFiringWebDriver ,并注冊MyListen
  public static void main(String args[]) {
  String key = "webdriver.chrome.driver";
  String value = "D:/BaiduYunDownload/selenium/chromedriver.exe";
  System.setProperty(key, value);
  WebDriver dr = new ChromeDriver();
  EventFiringWebDriver event = new EventFiringWebDriver(dr);
  MyListen ml = new MyListen();
  event.register(ml);
  dr = event;
  dr.get("http://www.baidu.com");
  dr.findElement(By.id("kw1")).sendKeys("test");
  //System.out.println(5/0);
  Assert.assertEquals("haha", event.findElement(By.id("su")).getAttribute("value"));
  event.quit();
  }

上一頁12下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd