Groups in TestNG

0


Groups in TestNG:-
It is used to logically subdivide the test case method, based on its usability.  to create a group, tesng provides "groups" attribute, and "beforegroups" and "aftergroups" annotation will be called for each grouping method.
Example 1st:-
package scs;
import org.testng.annotations.*;
public class TestNGExampleNew {

@BeforeGroups("car")
    public void bg1()
    {
           System.out.println("Car1");
    }
    @AfterGroups("car")
    public void bg2()
    {
    System.out.println("Car2");
    }
   @Test(groups={"car"})
   public void car1()
   {
   System.out.println("Car3");
   }
  @Test(groups={"car"})
   public void car2()
   {
  System.out.println("Car4");
   }
  @Test(groups={"scooter"})
   public void scooter1()
   {
  System.out.println("Scooter1");
   }
  @Test(groups={"scooter"})
   public void scooter2()
   {
  System.out.println("Scooter2");
   }
  @Test(groups={"scooter","car"})
  public void car_scooter()
 {
  System.out.println("Car, Scooter");
 }
}
create testng.xml file and execute them
<suite name="Suite">
    <test name="Practice Grouping">
      <groups>
       <run>
          <include name="Car" />
       </run>
      </groups>
      <classes>
        <class name="packagename.Classname" />
      </classes>
    </test>
</suite>
To run multiple groups
<suite name="Suite">
   <test name="Practice Grouping">
      <groups>
         <define name="All">
    <include name="Car"/>
    <include name="Scooter"/>
</define>
<run>
    <include name="All"/>
</run>
    </groups>
<classes>
      <class name="package.Grouping" />
</classes>
   </test>
</suite>
Example of Groups
package scs;
import org.testng.annotations.Test;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.AfterGroups;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeGroups;
public class NewTest {

  @Test(groups={"A"})
  public void testcase1() {
  System.out.print("TEST CASE CODE 1");
  }  
  @Test(groups={"A"})
  public void testCase2() {
  System.out.print("TEST CASE CODE 2");
  }
  @Test(groups={"B"})
  public void testCase3() {
  System.out.print("TEST CASE CODE 3");
  }
  @BeforeTest
  public void beforeTest() {
  System.out.print("BEFORE TEST CASE CODE");
  }

  @AfterTest
  public void afterTest() {
  System.out.print("AFTER TEST CASE CODE");
  }
  @BeforeGroups
  public void beforeGroup() {
  System.out.print("BEFORE GROUP CODE");
  }

  @AfterGroups
  public void afterGroup() {
  System.out.print("AFTER GROUP CODE");
  }
}
testng.xml
<?xml version="1.0" encoding="UTF-8"?>
<suite name="Suite">
    <test name="Practice Grouping">
      <groups>
       <run>
          <include name="B" />
       </run>
      </groups>
      <classes>
        <class name="scs.NewTest" />
      </classes>
    </test>
</suite>
Another Example:-
package scs;
import org.testng.annotations.AfterGroups;
import org.testng.annotations.BeforeGroups;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
public class EroomRentTestCase {

@BeforeTest
public void fun()
{
System.out.println("Before Test");
}
@BeforeGroups("guest")
public void beforeGuestGroup()
{
    System.out.println("Before Guest Group");
}
@BeforeGroups("owner")
public void beforeOwnerGroup()
{
    System.out.println("Before Owner Group");
}
@Test(groups={"guest"})
public void guestTestCaseMethod()
{
    System.out.println("Guest Modules");
}
@Test(groups={"owner"})
public void OwnerTestCaseMethod()
{
System.out.println("Owner Modules");
}
@Test(groups={"guest","owner"})
public void TenantTestCaseMethod()
{
System.out.println("Tenant Modules");
}
@AfterGroups("guest")
public void AfterGuestGroup()
{
    System.out.println("After Guest Group");
}
@AfterGroups("owner")
public void afterOwnerGroup()
{
    System.out.println("After Owner Group");
}
}
create XML file to execute a single group:-
<?xml version="1.0" encoding="UTF-8"?>
<suite name="Suite">
    <test name="Practice Grouping">
      <groups>
       <run>
          <include name="guest" />
       </run>
      </groups>
      <classes>
        <class name="scs.EroomRentTestCase" />
      </classes>
    </test>
</suite>
Create XML file to execute Multiple Group:-
<?xml version="1.0" encoding="UTF-8"?>
<suite name="Suite">
<test name="Practice Grouping">
<groups>
<define name="All">
<include name="guest"/>
<include name="owner"/>
</define>
<run>
<include name="All"/>
</run>
</groups>
<classes>
<class name="scs.EroomRentTestCase" />
</classes>
</test>
</suite>

Post a Comment

0Comments

POST Answer of Questions and ASK to Doubt

Post a Comment (0)