这里不讲解怎么在Eclipse安装配置TestNG,网上一搜一大把,大家自己去实践一下。
在这里主要说一下用Java来实现Selenium Webdriver的截图功能和把截图写到TestNG的报告中。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
//Capture screenshotpublic String captureScreenShot()
{ String dir = "screenshot";
String date = new SimpleDateFormat("yyyyMMdd").format(new Date());
String time = new SimpleDateFormat("HHmmss").format(new Date());
String screenShotPath = dir + File.separator + date + File.separator + time + ".png";
try
{
File source = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(source, new File(screenShotPath));
screenShotPath = screenShotPath.substring(screenShotPath.indexOf("\\"));
}
catch(IOException e)
{
screenShotPath = "Failed to capture screenshot: " + e.getMessage();
}
return screenShotPath;
}//Write to TestNGpublic void writeToTestNG(String proMessage) {
String png = captureScreenShot();
Reporter.log("[" + logTime + "] " + proMessage);
String log = new File("screenshot").getAbsolutePath();
Reporter.log("<br/><img src=\"" + log + "/" + png + "\" />");
} |
用下面的方法来调用:
|
1
2
3
4
5
6
7
8
9
10
11
|
@Testpublic void search()
{ openURL();
BaiduSearch yy = new BaiduSearch(driver);
yy.searchFor("searchTest");
writeToTestNG("testing ");
driver.quit();
} |
运行结果如下图所示: