Testng解析套件文件以创建多个套件测试文件

时间:2018-07-28 14:08:03

标签: testng

我想知道如何解析testng中的套件文件,并从中提取具有预期标记的所有类。

例如,

<suite thread-count="5" verbose="1" name="Regression Suite" skipfailedinvocationcounts="false" junit="false" parallel="classes" data-provider-thread-count="1" annotations="JDK" preserve-order="false">
    <test name="RQA Set" parallel="classes">
        <groups>
            <run>
                <include name="P1"></include>
            </run>
        </groups>
        <packages>
            <package name="com.test.regression" />
            <package name="com.test.regression1" />
        </packages>
    </test>
</suite>

在这里,提取带有标签P1的类。任何帮助都非常感谢?

2 个答案:

答案 0 :(得分:0)

我想说,还有另一种方法可以轻松地做到这一点。 TestNG提供了一些侦听器,您可以在运行时修改其行为 然后,您可以使用Java反射框架获取属于每个测试方法的类名。我认为ISuiteListener适合这种情况

答案 1 :(得分:0)

您可以按

  • 通过在TestNG.XML套件中定义指定的测试,

如何创建选定的TestNG套件,

TestNG.XMl套件定义:

按班级

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite">
  <test thread-count="5" name="Test">
    <classes>
      <class name="package1.test1"/>
      <class name="package2.test2"/>
      <class name="package6.test6"/>
    </classes>
  </test> <!-- Test -->
</suite> <!-- Suite -->

如果要包含包装,则可以按照以下步骤进行操作:

通过软件包:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite">
        <test name="TesteEmo">
            <packages>
                <package name="package4"></package>
            </packages>
        </test> <!-- Test -->
    </parameter>
</suite> <!-- Suite -->