ReportNg測試報告的定制修改
目前筆者接觸的自動化測試報告有兩種,這兩種都是開源的,第一種是ReportNG,第二種是ExtentReports,兩種風格各異,ExtentReports自帶餅圖,頁面很炫,但是我們今天講的是ReportNG。
首先來看下默認的ReportNG報告,是不是發現有個中文亂碼(此圖來源於網絡),首先我們來解決下這個亂碼問題。
1.首先從GitHub拉取ReportNG源碼,地址:https://github.com/dwdyer/reportng,下載好後解壓。
2.導入到編輯器如Eclipse,註意:import的時候請選擇以Maven項目import,請選擇reportng-master目錄下的reportng文件,作為新的project
(1)點擊File->import
(2)選擇Existing Maven Projects,點擊Next
(3)選擇解壓好的ReportNG項目,點擊Finish
導入後的項目如圖所示,導入後切記忙於修改源代碼,就算你把代碼改爛了也改不對,而且會報亂七八糟的錯誤,讓你懷疑人生
3.項目導入後,修改項目成如下圖所示目錄,且添加相應jar包到lib
(1)報告中亂碼的解決辦法,修改AbstractReporter中的generateFile這個方法中的代碼如下
(2)修改測試報告名稱,修改ReportMetadata中DEFAULT_TITLE
(3)修改默認generatedBy,修改reportng.properties中的generatedBy
(4)修改默認日期顯示,修改ReportMetadata.java中的DATE_FORMAT,TIME_FORMAT
(5)修改pom.xml
1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"View Code> 5 <modelVersion>4.0.0</modelVersion> 6 7 <groupId>reportng</groupId> 8 <artifactId>reportng</artifactId> 9 <version>1.8.8</version> 10 <dependencies> 11 <dependency> 12 <groupId>org.apache.httpcomponents</groupId> 13 <artifactId>httpclient</artifactId> 14 <version>4.3.6</version> 15 </dependency> 16 17 <dependency> 18 <groupId>org.testng</groupId> 19 <artifactId>testng</artifactId> 20 <version>6.9.6</version> 21 </dependency> 22 23 <dependency> 24 <groupId>org.uncommons</groupId> 25 <artifactId>reportng</artifactId> 26 <version>1.1.4</version> 27 <scope>test</scope> 28 <exclusions> 29 <exclusion> 30 <groupId>org.testng</groupId> 31 <artifactId>testng</artifactId> 32 </exclusion> 33 </exclusions> 34 </dependency> 35 36 <dependency> 37 <groupId>com.google.inject</groupId> 38 <artifactId>guice</artifactId> 39 <version>3.0</version> 40 <scope>test</scope> 41 </dependency> 42 </dependencies> 43 44 <build> 45 <plugins> 46 <plugin> 47 <groupId>org.apache.maven.plugins</groupId> 48 <artifactId>maven-surefire-plugin</artifactId> 49 <version>2.18.1</version> 50 <configuration> 51 <properties> 52 <property> 53 <name>usedefaultlisteners</name> 54 <value>false</value> 55 </property> 56 <property> 57 <name>listener</name> 58 <value>org.uncommons.reportng.HTMLReporter, org.uncommons.reportng.JUnitXMLReporter</value> 59 </property> 60 </properties> 61 <!-- <suiteXmlFiles> 62 <suiteXmlFile>testng.xml</suiteXmlFile> 63 </suiteXmlFiles> --> 64 <workingDirectory>target/</workingDirectory> 65 </configuration> 66 </plugin> 67 </plugins> 68 </build> 69 <properties> 70 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 71 </properties> 72 </project>
4.打包,pom.xml右擊選擇Run As->Maven build,控制臺顯示BUILD SUCCESS,則構建成功,刷新當前項目,在target目錄下會生成一個jar文件:reportng-1.8.8.jar
5.測試,新建一個測試項目(大家請隨意),導入相應jar包,選擇運行testng.xml,記得添加
<listeners> <listener class-name="org.uncommons.reportng.HTMLReporter" /> <listener class-name="org.uncommons.reportng.JUnitXMLReporter" /> </listeners>
6.報告展示
ReportNg測試報告的定制修改