一. 引入自动化测试报告
1. pom.xml
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.68</version>
</dependency>
<dependency>
<groupId>org.uncommons</groupId>
<artifactId>reportng</artifactId>
<version>1.1.4</version>
<scope>test</scope>
</dependency>
<plugin>
…………
<suiteXmlFiles>
<!--部署要用这个-->
<suiteXmlFile>testNgXml/${testXml}.xml</suiteXmlFile>
</suiteXmlFiles>
…………
</plugin>
2. all.xml
……
<listeners>
<listener class-name="org.uncommons.reportng.HTMLReporter"/>
<listener class-name="org.uncommons.reportng.JUnitXMLReporter"/>
</listeners>
二、 设置测试、预发、线上环境的TestNGXml
1. 因为人力系统存在测试环境、docker环境、预发环境和线上环境,不同的环境允许执行的用例不同,所以使用不同的TestNGXml来区分
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<!--多线程执行-->
<suite name="InterfaceTest" parallel="methods" thread-count="1">
<listeners>
<listener class-name="org.uncommons.reportng.HTMLReporter"/>
<listener class-name="org.uncommons.reportng.JUnitXMLReporter"/>
</listeners>
<!--<usedefaultlisteners name="false" />-->
<test name="testRetry">
<!--按照类执行-->
<classes>
<class name="com.mryx.autotest.lop.BlackListTestCase"/>
<class name="com.mryx.autotest.lop.ManeuverTestCase"/>
<class name="com.mryx.autotest.lop.RecruitmentFunctionTestCase"/>
<class name="com.mryx.autotest.lop.TalentPoolTestCase"/>
<class name="com.mryx.autotest.lop.WarehouseEmployeeTestCase"/>
</classes>
<!--按照包执行-->
<!--<packages>-->
<!--<package name="com.wuliu.loptest.testcase.Http.OrderManager"></package>-->
<!--<package name="com.wuliu.loptest.testcase.Http.WorkManager"></package>-->
<!--</packages>-->
</test>
</suite>
三、 目标服务器搭建nginx:建议百度
四、配置jenkins
1. 构建命令
mvn clean test -D testXml=${testXml} -D env=${env}
scp -r ./target/surefire-reports www@10.2.4.100:/usr/share/nginx/html/$JOB_NAME-$BUILD_ID
2. 配置邮件:此处只为说明测试报告地址,其他内容可根据需要配置。
$DEFAULT_CONTENT
测试报告地址:http://10.2.4.100/$JOB_NAME-$BUILD_ID
五、 检查测试报告