gpt4 book ai didi

java - 将变量从 jenkins 传递到 testng.xml

转载 作者:搜寻专家 更新时间:2023-11-01 03:03:41 28 4
gpt4 key购买 nike

我想根据从 jenkins 传递的变量运行测试用例例如,选择要运行的测试用例:测试用例一,测试用例二

在 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 文件中使用 BeanShell 脚本 http://testng.org/doc/documentation-main.html#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>

关于java - 将变量从 jenkins 传递到 testng.xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29919745/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com