前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java自动化测试框架-05 - 来给你的测试报告化个妆整个形 - (上)(详细教程)

Java自动化测试框架-05 - 来给你的测试报告化个妆整个形 - (上)(详细教程)

作者头像
北京-宏哥
发布2019-11-04 16:38:25
8760
发布2019-11-04 16:38:25
举报
文章被收录于专栏:北京宏哥北京宏哥

简介

  前边通过宏哥的讲解和分享想必小伙伴们和童鞋们都已经见过testng框架生成的测试报告,是不是它的样子和长相实在是不敢让大家伙恭维。那么今天宏哥就当一回美容师,由宏哥来给它美美容;当一回外科医生,做一名整形医生。由宏哥来主刀,给它整整形。让她变得丰满、美丽、可爱一些。

本来面貌

执行完测试用例之后,会在项目的test-output(默认目录)下生成测试报告

打开index.html文件,测试结果摘要,包括:套件名、测试用例成功数、测试用例失败数、测试用例忽略数和testng.xml文件

简略测试报告

详细测试报告

测试用例都成功的话,测试结果以绿底标志:

测试用例有失败的话,测试结果以红底标志:

点击"Link"链接,可以查看testng.xml文件的内容:

详细的测试结果介绍:

套餐一(普通会员)

ReportNG 是一个配合TestNG运行case后自动帮你在test-output文件内生成一个相对较为美观的测试报告! ReportNG 里面Log 是不支持中文的,我改过ReportNG.jar源码,具体方法看最下面,也可以找我直接要jar! 话不多说直接上

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

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

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

3、修改原代码

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

参考代码:

代码语言:javascript
复制
 OutputStream out = new FileOutputStream(file);
 Writer writer = new BufferedWriter(new OutputStreamWriter(out,"utf-8"));

或者这样也可以:

代码语言:javascript
复制
 OutputStream out = new FileOutputStream(file);
 Writer writer = new BufferedWriter(new OutputStreamWriter(out,ENCODING));

(2)修改测试报告名称,修改ReportMetadata中DEFAULT_TITLE

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

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

(5)修改pom.xml

代码语言:javascript
复制
<?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.apache.velocity</groupId>
            <artifactId>velocity-engine-core</artifactId>
            <version>2.0</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,

5.控制台显示BUILD SUCCESS,则构建成功,刷新当前项目,在target目录下会生成一个jar文件:reportng-1.8.8.jar

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

代码语言:javascript
复制
<listeners>
 <listener class-name="org.uncommons.reportng.HTMLReporter" />
 <listener class-name="org.uncommons.reportng.JUnitXMLReporter" />
 </listeners>

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-10-31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 本来面貌
    • 简略测试报告
      • 详细测试报告
      • 套餐一(普通会员)
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档