0

I have 2 test classes and each contains around 3 tests in them. 3rd test case depends on 2nd test case and 2nd test case depends on 1st testcase in each class.

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");
    }
}

Class2:

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");
        }
}

I have written @BeforeClass and @AfterClass in BaseCase class. When I run the test cases from testng.xml file @AfterClass is invoked after two classes are executed. But, @BeforeClass is working fine.

I would have to execute @AfterClass after each class is completed.

Please let me know if you have any ideas on it.

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>
Prasad
  • 13
  • 1
  • 5

0 Answers0