这里不讲解怎么在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 screenshot
public
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 TestNG
public
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
|
@Test
public
void
search()
{
openURL();
BaiduSearch yy =
new
BaiduSearch(driver);
yy.searchFor(
"searchTest"
);
writeToTestNG(
"testing "
);
driver.quit();
}
|
运行结果如下图所示: