TestNG+ReportNG+Maven优化测试报告

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TestNG+ReportNG+Maven优化测试报告相关的知识,希望对你有一定的参考价值。

我这边是在eclipse里面+Maven项目+TestNG+ReportNG集成生成美观的测试报告的。

  1. 首先在eclipse里面创建一个maven项目,具体要配置maven环境,请自行百度搭配环境。eclipse里面创建成功以后,会生成一个pom.xml配置文件,我们需要在里面配置必须的jar包。以下所需的jia包都是必须要有的。

    <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.9.10</version>

    <scope>test</scope>

    </dependency>

     

    <dependency>

    <groupId>com.google.inject</groupId>

    <artifactId>guice</artifactId>

    <version>4.0</version>

    </dependency>

     

    <!-- 依赖reportNg 关联testNg -->

    <dependency>

    <groupId>org.uncommons</groupId>

    <artifactId>reportng</artifactId>

    <version>1.1.5</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>4.0</version>

    <scope>test</scope>

    </dependency>

    <dependency>

    <groupId>velocity</groupId>

    <artifactId>velocity-dep</artifactId>

    <version>1.4</version>

    </dependency>

    <dependency>

    <groupId>log4j</groupId>

    <artifactId>log4j</artifactId>

    <version>1.2.17</version>

    </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>

  2. 在eclipse里面编写几个测试类,简单编写了几个。大家可以自己编写自己测试类。我这里简单些了3个测试类。技术分享技术分享

  3. 由于我们要引用reportNG生成的报告,所以pom.xml第一步我已经把usedefaultlisteners已经改成了false。

  4. 修改testng.xml文件,进行测试用例的执行。重点在class name:如果你出现了测试用例无法运行的情况,请在class name类名前面写上对应的包名即可。建议以后都按照这种格式去写。技术分享

    <?xml version="1.0" encoding="UTF-8"?>

    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">

    <suite name="TestNG 项目报告">

    <test name="第一组测试">

    <classes>

    <class name="Demo.test.demoTestng.demo01Test"></class>

    </classes>

    </test> <!-- Test -->

    <test name="第二组测试">

    <classes>

    <class name="Demo.test.demoTestng.demo02Test"></class>

    </classes>

    </test>

    <test name="第三组测试">

    <classes>

    <class name="Demo.test.demoTestng.demo03Test"></class>

    </classes>

    </test>

    <listeners>

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

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

    </listeners>

    </suite> <!-- Suite -->

  5. 点击testng.xml运行testng测试,执行完成以后,在html中查看测试报告:技术分享

  6. 用浏览器打开后的效果如下:技术分享技术分享

  7. ?我这边只是简单的配置了一下testng+Maven+reportNG组合生成了比较美化后的效果。大家有什么问题,可以一起讨论共同学习哈。

     

以上是关于TestNG+ReportNG+Maven优化测试报告的主要内容,如果未能解决你的问题,请参考以下文章

Webdriver+testNG+ReportNG+Maven+SVN+Jenkins自动化测试框架的pom.xml配置

java+selenium+testng+reportng+jenkins自动化环境搭建

为Testng配置ReportNG

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

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

接口测试——Java + TestNG 国家气象局接口(json解析)实例