背景:maven项目执行testng测试套件,不依赖于编译工具,所以使用jenkins来构建执行,同时需要跟进不同的测试环境,需要在jenkins中配置测试环境的变量.
首先我们需要知道执行的顺序,jenkins执行manven项目的pom文件,需要在pom文件中配置testng的执行文件.包括一些参数等.而testng文件就是执行测试文件的一些配置.
1.调试好testng的脚本, 需要把环境变量或者参数化的字段提取出来,放到testng.xml中,配置文件中的name对应test中的parameters.value是和pom文件中的环境变量一致.
PS:testng中的parameters和dataprovider不可以同时使用,如果涉及到配置文件,就直接使用parameters就好.
2.配置pom.xml文件.其中testEnvironment对应testng.xml中的value,suiteXmlFiles对应要执行的xml文件.这里也可以指定绝对路径.
<!--maven-surefire-plugin的test目标会自动执行测试源码路径(默认为src/test/java/)下所有符合一组命名模式的测试类 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.7.1</version>
<configuration>
<systemPropertyVariables>
<testEnvironment>${env}</testEnvironment>
</systemPropertyVariables>
<suiteXmlFiles>
<suiteXmlFile>testng.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
3.jenkins的配置.新建一个manven项目,然后参数化构建过程
吗
build直接选择pom.xml文件和test命令就可以
也可以添加响应的测试报告邮件通知.
最后的结果就是
最后,这样就不依赖与编译工具,直接构建,如果有修改就直接提交git或者svn更新就可以.