Testng如何创建测试类的对象并调用Test类的方法?

时间:2014-03-28 06:25:09

标签: testing selenium testng appium

我想知道如何调用具有@Test注释的测试方法。 Testng是否在内部创建测试类的对象?如果是,则该对象何时死亡? 这是我的Testng文件

 <test name="lOGIN" preserve-order="true">
<classes>
    <class name="xtr.chaut.test.LoginConnectHealthy">
        <methods>
        <include name="openLoginPage" />
        <include name="validLogin" />       
        </methods>
    </class>
            <class name="xtr.chaut.test.HomeTest">
        <methods>
        <include name="patientProfile" />       
        </methods>
    </class>
            <class name="xtr.chaut.test.LoginConnectHealthy">
        <methods>
        <include name="logout" />       
        </methods>
    </class>

此处 LoginConnectHealthy 类出现两次。 testng是否为它们使用相同的对象,或者为它们创建不同的实例?

1 个答案:

答案 0 :(得分:0)

回答你的问题:最好使用“AfterMethod”注释,而不是实例化一个单独调用“logout”的新类。 TestNG通常不是设计为在测试组中两次调用同一个类。它的设计目标是测试组中的每个类别。只需查看<packages>标记和preserve-order属性的文档,就可以了解情况。它可能巧合,但你的milage会有所不同。

TestNG测试具有与JUnit测试一样的生命周期,具有“之前”和“之后”事件。如果查看TestNG运行生成的.html报告,您将在报告中看到这些事件。因此,不应该对测试对象的寿命有任何疑问。您可以通过阅读所有TestNG文档来更好地理解它,其中包括工厂如何工作以及数据提供者的信息。您可以poke around on this example I made,使用mvn.bat test运行它,然后找到名为methods.html的.html报告文件。