在TestNG中执行类后,@ AfterClass不会立即调用

时间:2018-06-13 11:32:37

标签: selenium selenium-webdriver testng testng-eclipse

我有2个测试类,每个测试类包含大约3个测试。第3个测试用例依赖于第2个测试用例,第2个测试用例依赖于每个类的第1个测试用例。

的Class1:

public class MyTest1 extends BaseCase{
    @Test
    public void Test1(){
    System.out.println("Test1");
    }

    @Test(dependsOnMethods = "Test1")
    public void Test2(){
    System.out.println("Test2");
    }

    @Test(dependsOnMethods = "Test2")
    public void Test3(){
    System.out.println("Test3");
    }
}

等级2:

public class MyTest2 extends BaseCase{
    @Test
        public void Test1(){
        System.out.println("Test1");
        }

        @Test(dependsOnMethods = "Test1")
        public void Test2(){
        System.out.println("Test2");
        }

        @Test(dependsOnMethods = "Test2")
        public void Test3(){
        System.out.println("Test3");
        }
}

我在BaseCase类中编写了@BeforeClass和@AfterClass。当我从testng.xml文件运行测试用例时,在执行两个类之后调用@AfterClass。但是,@ BeforeClass工作正常。

我必须在每个课程完成后执行@AfterClass。

如果您有任何想法,请告诉我。

的testng.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="TestCases">
    <parameter name="browserName" value="firefox"></parameter>
    <parameter name="environment" value="qa"></parameter>
    <test name="BulkUserImport">
        <classes>
            <class name="com.MyTest1"></class>
            <class
                name="com.MyTest2"></class>
        </classes>
    </test>
</suite>

0 个答案:

没有答案