目前笔者接触的自动化测试报告有两种,这两种都是开源的,第一种是ReportNG,第二种是ExtentReports,两种风格各异,ExtentReports自带饼图,页面很炫,但是我们今天讲的是ReportNG。

  首先来看下默认的ReportNG报告,是不是发现有个中文乱码(此图来源于网络),首先我们来解决下这个乱码问题。

ReportNG测试报告的定制修改(一)-LMLPHP

1.首先从GitHub拉取ReportNG源码,地址:https://github.com/dwdyer/reportng,下载好后解压。

  ReportNG测试报告的定制修改(一)-LMLPHP

2.导入到编辑器如Eclipse,注意:import的时候请选择以Maven项目import,请选择reportng-master目录下的reportng文件,作为新的project

(1)点击File->import

ReportNG测试报告的定制修改(一)-LMLPHP

(2)选择Existing Maven Projects,点击Next

ReportNG测试报告的定制修改(一)-LMLPHP

(3)选择解压好的ReportNG项目,点击Finish

ReportNG测试报告的定制修改(一)-LMLPHP

导入后的项目如图所示,导入后切记忙于修改源代码,就算你把代码改烂了也改不对,而且会报乱七八糟的错误,让你怀疑人生

ReportNG测试报告的定制修改(一)-LMLPHP

3.项目导入后,修改项目成如下图所示目录,且添加相应jar包到lib

ReportNG测试报告的定制修改(一)-LMLPHP

(1)报告中乱码的解决办法,修改AbstractReporter中的generateFile这个方法中的代码如下

ReportNG测试报告的定制修改(一)-LMLPHP

(2)修改测试报告名称,修改ReportMetadata中DEFAULT_TITLEReportNG测试报告的定制修改(一)-LMLPHP

(3)修改默认generatedBy,修改reportng.properties中的generatedBy

ReportNG测试报告的定制修改(一)-LMLPHP

(4)修改默认日期显示,修改ReportMetadata.java中的DATE_FORMAT,TIME_FORMAT

ReportNG测试报告的定制修改(一)-LMLPHP

(5)修改pom.xml

 <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <groupId>reportng</groupId>
<artifactId>reportng</artifactId>
<version>1.8.8</version>
<dependencies>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.3.6</version>
</dependency> <dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.9.6</version>
</dependency> <dependency>
<groupId>org.uncommons</groupId>
<artifactId>reportng</artifactId>
<version>1.1.4</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
</exclusion>
</exclusions>
</dependency> <dependency>
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
<version>3.0</version>
<scope>test</scope>
</dependency>
</dependencies> <build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<properties>
<property>
<name>usedefaultlisteners</name>
<value>false</value>
</property>
<property>
<name>listener</name>
<value>org.uncommons.reportng.HTMLReporter, org.uncommons.reportng.JUnitXMLReporter</value>
</property>
</properties>
<!-- <suiteXmlFiles>
<suiteXmlFile>testng.xml</suiteXmlFile>
</suiteXmlFiles> -->
<workingDirectory>target/</workingDirectory>
</configuration>
</plugin>
</plugins>
</build>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>

4.打包,pom.xml右击选择Run As->Maven install,控制台显示BUILD SUCCESS,则构建成功,刷新当前项目,在target目录下会生成一个jar文件:reportng-1.8.8.jar

ReportNG测试报告的定制修改(一)-LMLPHP

ReportNG测试报告的定制修改(一)-LMLPHP

5.测试,新建一个测试项目(大家请随意),导入相应jar包,选择运行testng.xml,记得添加

<listeners>
<listener class-name="org.uncommons.reportng.HTMLReporter" />
<listener class-name="org.uncommons.reportng.JUnitXMLReporter" />
</listeners>

ReportNG测试报告的定制修改(一)-LMLPHP

6.报告展示,修改后的jar包已上传到群共享,需要的小伙伴可以加群自己下载哦。

ReportNG测试报告的定制修改(一)-LMLPHP

05-07 15:12
查看更多