通过XML在TestNG中运行套件之前的方法

时间:2017-07-05 14:29:54

标签: xml testng

我有一个XML TestNG套件:

<suite name="mySuite" parallel="classes" thread-count="5">
    <test name="myTest">
        <packages>
            <package name="mypack.*"/>
        </packages>
    </test>
</suite>

我想在套件之前每次都运行一个方法。

是否有可能有这样的事情:

<suite name="mySuite" parallel="classes" thread-count="5">
    <before-suite>...</before-suite> <!-- Here I want to run a single method  -->
    <test name="myTest">
        <packages>
            <package name="mypack.*"/>
        </packages>
    </test>
</suite>

2 个答案:

答案 0 :(得分:2)

您有两种选择:

  1. 在您希望在每个套件之前运行的方法上使用@BeforeSuite注释
  2. 实现ISuiteListener onStart方法,将实现的侦听器添加到侦听器部分的xml中。

答案 1 :(得分:1)

根据TestNG(http://testng.org/doc/documentation-main.html)的文档,我们没有选择在testng.xml中指定before suite方法。

作为一个选项,您可以按照以下方式使用套件前注释来满足要求。

cache

如果您参考文档,您会发现有很多注释,例如public class UtilitiesTest { @BeforeSuite public void init() { // Initialize the system before the test suite. } } 可能会有所帮助。

注意:您可以将此类放在测试套件中的任何位置。