亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 > Selenium
Selenium遇到異常自動截圖
作者:網絡轉載 發布時間:[ 2015/9/23 14:35:03 ] 推薦標簽:TestNG 功能測試工具

  2.使用testNG的TestListenerAdapter
  a.先建一個類繼承TestListenerAdapter,并重寫onTestFailure方法
package com.screenshot.exception;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.commons.io.FileUtils;
import org.apache.velocity.runtime.log.LogManager;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import org.testng.ITestResult;
import org.testng.TestListenerAdapter;
import com.screenshot.singleton.TestBase;
/**
* @author QiaoJiaofei
* @version 創建時間:2015年8月24日 下午6:33:44
* 類說明
*/
public class UseTestNg extends TestListenerAdapter{
@Override
public synchronized void onTestFailure(ITestResult result) {
Object currentClass = result.getInstance();
WebDriver webDriver = ((TestUsNg) currentClass).getDriver();
if (webDriver != null)
{
Date currentTime = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd-hh-mm-ss");
String dateString = formatter.format(currentTime);
File scrFile = ((TakesScreenshot) webDriver).getScreenshotAs(OutputType.FILE);
try {
File screenshot = new File("D:/ddd/"
+ dateString  + ".png");
FileUtils.copyFile(scrFile,screenshot);
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
  b.創建測試類,注意需要在測試類中寫getDriver()方法
package com.screenshot.exception;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;
/**
* @author QiaoJiaofei
* @version 創建時間:2015年8月24日 下午6:43:44
* 類說明
*/
public class TestUsNg {
private WebDriver dr;
public WebDriver getDriver() {
return dr;
}
@Test
public void f() {
String key = "webdriver.chrome.driver";
String value = "D:/BaiduYunDownload/selenium/chromedriver.exe";
System.setProperty(key, value);
dr = new ChromeDriver();
System.out.println(5/0);
}
}
  C.在testng的xml文件中添加監聽
  <listeners>
  <listener class-name="com.screenshot.exception.UseTestNg" />
  </listeners>
  3.如何將生成的圖片連接到reportNG中,將下面的代碼放入上面相應重寫的方法中,圖片路徑與上述代碼中生成的圖片結合一起。
  String imgName = "";//圖片路徑
  Reporter.log("<a href=./img/" + imgName + " target=_blank>Failed Screen Shot</a>", true);
  4.使用Robot主動截圖,這種可以在自己想截圖的時候調用該方法即可截當前界面
packagecom.screenshot.book;
importjava.awt.Rectangle;
importjava.awt.Robot;
importjava.awt.Toolkit;
importjava.awt.image.BufferedImage;
importjava.io.File;
importjavax.imageio.ImageIO;
importorg.testng.annotations.Test;
/**
*@authorQiaoJiaofei
*@version創建時間:2015年8月26日下午7:40:34
*類說明
*/
publicclassTestRobot{
@Test
publicvoidtakeScreenShotMethod(){
try{
Thread.sleep(3000);
BufferedImageimage=newRobot().createScreenCapture(newRectangle(Toolkit.getDefaultToolkit().getScreenSize()));
ImageIO.write(image,"jpg",newFile("D:/ddd/screenshot.jpg"));
}
catch(Exceptione){
e.printStackTrace();
}
}
}
  備注:
  使用junit自動截圖,可以使用Rule,由于我用的是testNG,所以沒有調試junit的方法。詳細參考:http://stackoverflow.com/questions/20995722/when-does-
onexception-get-triggered-in-webdrivereventlistener
@Rule
public TestRule testWatcher = new TestWatcher() {
@Override
public void succeeded(Description test){
for (LogEntry log : driver.manage().logs().get(LogType.DRIVER).getAll()) {
System.out.println("Level:" + log.getLevel().getName());
System.out.println("Message:" + log.getMessage());
System.out.println("Time:" + log.getTimestamp());
System.out.println("-----------------------------------------------");
}
System.out.println();
@Override
public void failed(Throwable t, Description test) {
String testName = test.getClassName();
String subTestName = test.getMethodName();
String screenShotName = String.format("%s\%s", testName, screenShotName);
if (driver instanceof TakesScreenshot) {
File tempFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
try {
System.out.println(">>>>>>>>>>LOGS: " + yourDirForImages + "\" + screenShotName + ".png");
FileUtils.copyFile(tempFile, new File(String.format("%s.png", screenShotName)));
} catch (IOException e) {
e.printStackTrace();
}
}

上一頁12下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 一级毛片视频免费 | 日韩一区二区三区在线视频 | 天天操天天干天搞天天射 | 你懂的 在线播放 | 亚洲精品国产综合一线久久 | 国产高清在线精品免费 | 欧美婷婷综合 | 日韩精品一区二区三区毛片 | 一个人看的www免费视频中文 | 福利社午夜剧场 | 中国女人三级在线播放 | 日本天堂网在线观看 | 一个人www视频在线观看 | 国产三级a三级三级三级 | 在线观看的黄网 | 亚洲一卡二卡在线 | 国产肥老妇视频∵ | 日本无翼乌邪恶彩色大全 | 精品国产国语对白主播野战 | 91亚洲导航深夜福利 | 久草视频免费 | 中文日韩 | 黄色片黄色片黄色片黄色片黄色片 | 日噜噜 | 久久综合狠狠综合久久综合88 | 欧洲亚洲日本 | 青草视频免费观看 | 手机在线看片国产 | 日本操片 | 欧美成人午夜精品一区二区 | 日韩欧美不卡一区二区三区 | 波多野结衣在线网站 | www视频免费 | 最近免费中文完整视频观看 | 欧美日韩三级 | 成人欧美一区二区三区视频 | 欧美日韩另类在线观看视频 | 欧美日韩高清在线 | 久久天天操 | 亚洲精品网址 | 无遮羞肉体动漫影院免费版 |