Mac Eclipse+Maven+TestNg+ReportNg 生成測試報告

  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 需要翻牆了):
    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. testNg.xml 不需要修改

    5. 之後右鍵運行pom.xml,選擇maven test 即可
    6. 之後查看控制檯如圖:
      這裏寫圖片描述
    7. 使用maven 插件運行之後,在target 裏面查看測試報告,Html下的index.html 就是reportNg 生成的報告
      這裏寫圖片描述

  2. 這樣就可以完成了,除了ReportNg ,可以美化TestNg 的報告以外,還有testNG_xslt

發佈了72 篇原創文章 · 獲贊 16 · 訪問量 33萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章