我想根据jenkins传递的变量来运行测试用例,例如如果我从jenkins中选择TestCaseForHistoryPage,它应该只运行。
我的testng,xml如下:
<test name="TestCaseForInlineRedemption">
<classes>
<class name="test_cases.TestCaseForInlineRedemption">
</class>
</classes>
</test> <!-- Test -->
<test name="TestCaseForHistoryPage">
<classes>
<class name="test_cases.TestCaseForHistoryPage">
</class>
</classes>
</test>
And pom like:
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<systemPropertyVariables>
<testnames>${Dtest}</testnames>
<country>${Dcountry}</country>
<environment>${Denvironment}</environment>
</systemPropertyVariables>
<testFailureIgnore>true</testFailureIgnore>
<suiteXmlFiles>
<!-- TestNG suite XML files -->
<suiteXmlFile>testng.xml</suiteXmlFile>
</suiteXmlFiles>
<systemProperties>
<property>
**<test>${Dtest}</test>**
</property>
</systemProperties>
</configuration>
</plugin>
我想通过pom将$ {Dtest}从jenkins传递到testng。
有人可以帮忙吗?
答案 0 :(得分:1)
选项1:
您可以检查此插件以运行选定的测试用例。 Tests Selector Plugin
选项2:
为TestCaseForHistoryPage的测试用例创建另一个HistoryPage.xml文件。如下所述在“ maven-surefire-plugin”中使用动态xml文件名。
<configuration>
<suiteXmlFiles>
<!-- TestNG suite XML files -->
<suiteXmlFile>${suiteXmlFile}</suiteXmlFile>
</suiteXmlFiles>
</configuration>
现在您可以通过maven来运行它
mvn clean test -Dsurefire.suiteXmlFiles=fileName.xml
在Jenkins中,您可以使用“使用参数构建”选项来创建作业,并创建一个字符串参数。现在,您可以在Jenkins中传递此参数。