TestNG+ReportNG+Maven优化测试报告
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TestNG+ReportNG+Maven优化测试报告相关的知识,希望对你有一定的参考价值。
我这边是在eclipse里面+Maven项目+TestNG+ReportNG集成生成美观的测试报告的。
-
首先在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>
-
在eclipse里面编写几个测试类,简单编写了几个。大家可以自己编写自己测试类。我这里简单些了3个测试类。
-
由于我们要引用reportNG生成的报告,所以pom.xml第一步我已经把usedefaultlisteners已经改成了false。
-
修改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 -->
-
点击testng.xml运行testng测试,执行完成以后,在html中查看测试报告:
-
用浏览器打开后的效果如下:
-
?我这边只是简单的配置了一下testng+Maven+reportNG组合生成了比较美化后的效果。大家有什么问题,可以一起讨论共同学习哈。
以上是关于TestNG+ReportNG+Maven优化测试报告的主要内容,如果未能解决你的问题,请参考以下文章
Webdriver+testNG+ReportNG+Maven+SVN+Jenkins自动化测试框架的pom.xml配置
java+selenium+testng+reportng+jenkins自动化环境搭建
我的自动化测试历程(Selenium+TestNG+Java+ReportNG+Jenkins)