zoukankan      html  css  js  c++  java
  • Mac Eclipse+Maven+TestNg+ReportNg 生成测试报告

    转自:http://blog.csdn.net/a542551042/article/details/46729585

      1. TestNG 是java 的单元测试框架,功能很强大,很方便,但是自动生成的测试报告有待改善,可以使用TestNg 自带的TestNG_xslt更改TestNG报告的样式,这里主要讲解ReportNg,美化下TestNG 的报告

        TestNg(TestNg官网): 
        http://testng.org/doc/index.html

        ReportNg(ReportNg官网): 
        http://reportng.uncommons.org/

        mavenTestNg(在Maven下配置TestNg): 
        http://maven.apache.org/surefire/maven-surefire-plugin/examples/testng.html

        mavenReportNg(在Maven下配置ReportNg 需要FQ了): 
        https://solidsoft.wordpress.com/2011/01/23/better-looking-html-test-reports-for-testng-with-reportng-maven-guide/

        ReportNg 官方提供的可以使用Ant Build 项目,同样也可使用maven,Gradle,这是使用maven


        1. 首先确定已经建好了maven 项目,已经添加了TestNg类,生成了testNG.xml,pom.xml 

        2. 在项目下建一个res文件夹用来统一存放我们的testNg.xml文件,方便运行不同的testNg.xml (使用maven运行的时候,只需要在Pom.xml修改引用不同的testNg.xml即可) 
          结构如下: 
          技术分享

        3. 修改maven 的Pom文件如下:

          <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>MavenTestNg</groupId>
            <artifactId>MavenTestNg</artifactId>
            <version>0.0.1-SNAPSHOT</version>
          
            <!-- maven 运行测试name -->
             <name>Report_Test</name>
             <url>http://maven.apache.org</url>
          
          
             <!-- maven 引用远程库 -->
               <repositories>
              <repository>
                  <id>java-net</id>
                  <url>http://download.java.net/maven/2</url>
              </repository>
              </repositories>
          
          
          
             <!-- maven 参数配置,这里引用不同的testng.xml -->
              <properties>
                  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
                  <xmlFileName>testng.xml</xmlFileName>
              </properties>
          
          
            <!-- maven 引用依赖不同的jar -->
            <dependencies>
          
              <!-- 依赖testNg -->
              <dependency>
                <groupId>org.testng</groupId>
                <artifactId>testng</artifactId>
                <version>6.8.8</version>
                <scope>test</scope>
              </dependency>
          
              <!-- 依赖reportNg 关联testNg-->
              <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>
          
              <!-- 依赖Guice -->
              <dependency>
                  <groupId>com.google.inject</groupId>
                  <artifactId>guice</artifactId>
                  <version>3.0</version>
                  <scope>test</scope>
              </dependency>
            </dependencies>
          
          
          
          
            <build>
            <plugins>
                  <!-- 添加插件 关联testNg.xml -->
                  <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <version>2.17</version>
                        <configuration>
                        <suiteXmlFiles>
                            <suiteXmlFile>res/${xmlFileName}</suiteXmlFile>
                        </suiteXmlFiles>
                        </configuration>
                  </plugin> 
          
                 <!-- 添加插件,添加ReportNg的监听器,修改最后的TestNg的报告 -->
                 <plugin>
                      <groupId>org.apache.maven.plugins</groupId>
                      <artifactId>maven-surefire-plugin</artifactId>
                      <version>2.5</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>
                          <workingDirectory>target/</workingDirectory>
                          <forkMode>always</forkMode>
                      </configuration>
                  </plugin>
            </plugins>
          </build>
          </project>
          这样基本就可以了,修改完pom文件,会看到jar已经依赖完成 
        4. 技术分享

        5. testNg.xml 不需要修改

        6. 之后右键运行pom.xml,选择maven test 即可
        7. 之后查看控制台如图: 
          技术分享
        8. 使用maven 插件运行之后,在target 里面查看测试报告,Html下的index.html 就是reportNg 生成的报告 
          技术分享

      2. 这样就可以完成了,除了ReportNg ,可以美化TestNg 的报告以外,还有testNG_xslt

  • 相关阅读:
    Vue、Node 全栈,结合使用获取数据
    Day3.18组件案例-发表评论功能
    Day3.17父组件向子组件传方法
    Day3.16父组件向子组件传值
    Day3.15组件切换动画
    Day3.14组件切换方式二
    把旧系统迁移到.Net Core 2.0 日记 (19) --UI转用adminLTE
    NopCommerce 更改发票字体
    本地可以发邮件,阿里云服务器发送邮件失败,25端口被禁用
    WIFI 万能钥匙万玉权:团队之中要有跨三界之外的“闲人” [转]
  • 原文地址:https://www.cnblogs.com/ceshi2016/p/6512255.html
Copyright © 2011-2022 走看看