一、pom文件配置
<!-- 测试代码打包 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
<configuration>
<!-- 执行指定xml文件 -->
<!-- <suiteXmlFiles>-->
<!-- ./src/main/resources/testng.xml-->
<!-- </suiteXmlFiles>-->
<!--动态执行xml文件。${project.basedir}项目目录,${xmlFileName}maven文件-->
<suiteXmlFiles>
<suiteXmlFile>${project.basedir}/target/classes/${xmlFileName}</suiteXmlFile>
</suiteXmlFiles>
<forkMode>once</forkMode>
<argLine>-Dfile.encoding=UTF-8</argLine>
<encoding>UTF-8</encoding>
<systemProperties>
<property>
<name>net.sourceforge.cobertura.datafile</name>
<value>target/cobertura/cobertura.ser</value>
</property>
</systemProperties>
</configuration>
</plugin>
<!--为了maven打包编译时后台一直输出警告信息。导致构建失败-->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<xmlFileName></xmlFileName>
</properties>
二、jenkins构建maven配置
命令解释:
maven参数化替换使用的占位符是 %xxx%
-DxmlFileName=%xmlFileName% 指定maven test 运行的测试集合对象。用于参数化构建传参使用,后面介绍。
在Jenkins使用Maven构建项目自动化测试前,先通过本地使用maven测试是否通过。
这里本来要将参数化构建,但参数化构建前先说明下是如何利用maven构建测试的。
1.先在IDEA上验证maven test是否生效
在${project.basedir}/target/classes/testNg/api/testng.xml 开启后,使用mvn clean test -DxmlFileName=testng.xml验证是否成功。如下图:
2.在jenkins上构建maven配置