将变量从jenkins传递到testng.xml

我想根据例如从jenkins传递的变量来运行测试用例,请选择要运行的测试用例:testcaseOne,testcaseTwo

在pom.xml(maven)中:

    <plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-surefire-plugin</artifactId>

<version>2.18.1</version>

<configuration>

<suiteXmlFiles>

<suiteXmlFile>testng.xml</suiteXmlFile>

</suiteXmlFiles>

<systemPropertyVariables>

<chooseCase>${chooseCase}</chooseCase> <--this dont work

</systemPropertyVariables>

<parallel>tests</parallel>

<threadCount>10</threadCount>

</configuration>

</plugin>

我有两个testng @test方法:

@Test(groups="caseOne")

@Test(groups="caseTwo")

还有我的testng.xml文件:

<test name="Test">

<groups>

<run>

<include name="${chooseCase}"/>

</run>

</groups>

<classes>

<class name="AppTest"/>

<class name="AppTest2"/>

</classes>

</test> <!-- Test -->

如何根据我要运行的测试数量和数量来传递此参数?也许有完全不同的方式来做到这一点?

回答:

您可以在testng.xml文件http://testng.org/doc/documentation-

main.html#beanshell中使用BeanShell脚本,并在其中读取系统变量,例如:

<test name="Test">

<method-selectors>

<method-selector>

<script language="beanshell">

<![CDATA[

String myTestGroup = System.getProperty("chooseCase");

groups.containsKey(myTestGroup);

]]>

</script>

</method-selector>

</method-selectors>

<classes>

<class name="AppTest"/>

<class name="AppTest2"/>

</classes>

</test>

以上是 将变量从jenkins传递到testng.xml 的全部内容, 来源链接: utcz.com/qa/409372.html

回到顶部