这里不讲解怎么在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(); } |
运行结果如下图所示: