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

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

  2.使用testNG的TestListenerAdapter
  a.先建一個(gè)類繼承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 創(chuàng)建時(shí)間: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.創(chuàng)建測試類,注意需要在測試類中寫getDriver()方法
package com.screenshot.exception;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;
/**
* @author QiaoJiaofei
* @version 創(chuàng)建時(shí)間: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文件中添加監(jiān)聽
  <listeners>
  <listener class-name="com.screenshot.exception.UseTestNg" />
  </listeners>
  3.如何將生成的圖片連接到reportNG中,將下面的代碼放入上面相應(yīng)重寫的方法中,圖片路徑與上述代碼中生成的圖片結(jié)合一起。
  String imgName = "";//圖片路徑
  Reporter.log("<a href=./img/" + imgName + " target=_blank>Failed Screen Shot</a>", true);
  4.使用Robot主動截圖,這種可以在自己想截圖的時(shí)候調(diào)用該方法即可截當(dāng)前界面
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創(chuàng)建時(shí)間: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,所以沒有調(diào)試junit的方法。詳細(xì)參考: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下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 成人在线综合网 | 二级特黄绝大片免费视频大片 | 看黄免费网站 | 一级影院 | 九九在线精品视频xxx | 成 人 a v黄 色| 中国人xxxxxxx免费看视频 | 成人伦理在线 | 美女羞羞视频网站 | 亚洲一区二区三区四 | 国产成人h福利小视频在线观看 | a免费国产一级特黄aa大 | 国产香蕉98碰碰久久人人 | 曰批视频免费 | va视频| 免费在线观看亚洲 | 宠溺高h共妻 | 亚洲欧美日韩精品久久亚洲区 | 欧美3p在线观看一区二区三区 | 大又大又粗又爽又黄毛片女人 | 黄网站在线观看视频 | 国产精品一区二区久久精品 | 亚洲欧美日本综合一区二区三区 | 久久人人爽人人爽人人小说 | 国产欧美日韩在线视频 | 国产在线观看网址在线视频 | 性8sex亚洲区入口 | 亚洲国产日韩综合久久精品 | 日韩免费精品一级毛片 | 韩国xxxx色视频在线观看免费 | 国产欧美精品一区aⅴ影院 国产欧美成人一区二区三区 | 国产成人网 | 爽爽爽爽爽爽爽太爽了免费观看 | 91日本在线观看亚洲精品 | 中国一级片免费 | 日韩伦理片网站 | 小明视频免费永久在线网 | 久久精品视频免费 | 日本欧美强乱视频在线 | 久青草国产在线视频_久青草免 | 亚洲人成77777在线观看网 |