Showing posts with label dependsOnGroups. Show all posts
Showing posts with label dependsOnGroups. Show all posts

Thursday, May 15, 2014

How to use 'Groups' in TestNG



import org.testng.annotations.AfterGroups;
import org.testng.annotations.BeforeGroups;
import org.testng.annotations.Test;

public class GroupsInTestNG {
    @BeforeGroups({"secondGroup","firstGroup"})
    public void executeBeforeGroup(){
        System.out.println("executeBefore both Group");
    }
    @AfterGroups("firstGroup")
    public void executeAfterGroup(){
        System.out.println("executeAfter firstGroup");
    }
   
    @Test(groups="firstGroup")
    public void method1(){
        System.out.println("method1");
    }
    @Test(groups="firstGroup")
    public void method2(){
        System.out.println("method2");
    }
    @Test(groups="secondGroup")
    public void method3(){
        System.out.println("method3");
    }
    @Test(groups="secondGroup")
    public void method4(){
        System.out.println("method4");
    }
    @Test(dependsOnGroups={"secondGroup","firstGroup"})
    public void method5(){
        System.out.println("if both group passed then method5 test will execute");
    }
}




testng.xml
-------------

<suite name="Suite" parallel="none">
  <test name="Test1">
    <classes>
      <class name="advancedSelenium.GroupsInTestNG"/>
    </classes>
  </test>
  <test name="Test2">
      <groups>
          <run>
          <include name="secondGroup"></include>
          </run>
      </groups>
    <classes>
      <class name="advancedSelenium.GroupsInTestNG"/>
    </classes>
  </test>
</suite>


Output

----------

executeBefore both Group
method1
method2
executeAfter firstGroup
executeBefore both Group
method3
method4
if both group passed then method5 test will execute
method3
method4