Showing posts with label Groups in TestNG. Show all posts
Showing posts with label Groups in TestNG. 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