ReportNg测试报告的定制修改

Posted mrjade

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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">
 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>
View Code

 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测试报告的定制修改的主要内容,如果未能解决你的问题,请参考以下文章

关于reportng生成的测试报告不按测试执行顺序的解决办法

reportNG定制化之失败截图及日志

TestNG+ReportNG+Maven优化测试报告

eclipse + reportng+appium 怎么生成测试报告

我的自动化测试历程(Selenium+TestNG+Java+ReportNG+Jenkins)

自动化测试历程 selenium+testng+java+reportng+jenkins