运行 jar e,g 时
java -jar a.jar -testjar a.jar -xmlpathjar Test.xml
<!xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="false">
<test name="Test">
<groups>
<run>
<include name="brokenTests"/>
<include name="checkinTests"/>
</run>
</groups>
<classes>
<class name="organized.chaos.GroupsPlayGround" />
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
如何在参数中仅给出损坏的测试名称
java -jar a.jar -testjar a.jar -xmlpathjar Test.xml
这样只有这组测试用例才会被执行?
期望在参数本身中给出运行组
如果您想通过命令行参数指定组名称,那么您应该将其作为
-groups
传递(这里我假设您的可执行 jar 将直接从 org.testng.TestNG
java 类中调用 main 方法
更多详情请参考https://testng.org/#_command_line_parameters
如果您要使用套件文件并且仍然希望能够指定组名称,那么您应该使用 beanshell。
更多详情请参阅文档https://testng.org/#_beanshell_and_advanced_group_selection
这是一个示例 xml 文件,展示了如何使用 beanshell,然后检索组名称并使用它来运行,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="false">
<test name="Test">
<method-selectors>
<method-selector>
<script language="beanshell">
<![CDATA[
whatGroup = System.getProperty("groupToRun");
groups.containsKey(whatGroup);
]]>
</script>
</method-selector>
</method-selectors>
<classes>
<class name="organized.chaos.GroupsPlayGround" />
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
您可以参考我的博文了解更多详细信息https://rationaleemotions.com/beanshell_in_testng/