我有一个包含多个测试标记的testng.xml,每个测试标记都有两个类。目前有10-12个测试用例,因此有10-12个测试标签,但将来这个数字可能会增加到50+,那么在这种情况下,testng.xml会非常繁重。我们有什么方法可以减少代码行。
第二类VerifySuite有@Test注释,无法更改,因为它来自jar。
以下是xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite">
<listeners>
<listener class-name="com.api.reporting.ExtentReporterNG" />
</listeners>
<test name="GET TC001_TC002">
<classes>
<class name="com.test.scenarios.TC001_TC002" />
<class name="com.test.api.verification.VerifySuite" />
</classes>
</test>
<test name="GET TC003_TC004">
<classes>
<class name="com.test.scenarios.TC003_TC004" />
<class name="com.test.api.verification.VerifySuite" />
</classes>
</test>
<test name="GET TC005_TC006">
<classes>
<class name="com.test.scenarios.TC005_T006" />
<class name="com.test.api.verification.VerifySuite" />
</classes>
</test>
<test name="GET TC007">
<classes>
<class name="com.test.scenarios.TC007" />
<class name="com.test.api.verification.VerifySuite" />
</classes>
</test>
<test name="POST TC001_TC002">
<classes>
<class name="com.test.scenarios.TC001_TC002" />
<class name="com.test.api.verification.VerifySuite" />
</classes>
</test>
</suite> <!-- Suite -->
答案 0 :(得分:1)
是的,您可以使用TestNG轻松完成此操作。这是
的方式org.testng.IAlterSuiteListener
,其中在org.testng.IAlterSuiteListener#alter()
方法中,您基本上可以通过代码开始创建XmlTest
个对象,然后将它们注入{{1对象。 您甚至可以对此进行一些了解,其中您可以使用XmlSuite
方法提取数据源,例如excel电子表格或csv或包含{{1}名称的json文件}标签和要包含在`标签中的测试类集,并让这个监听器以编程方式编写整个套件xml文件。
在您的alter()
套件xml文件中,您只需指定<test>
标记,并添加对您构建的testng.xml
实施的引用。
这应该可以帮助你做你想做的事。