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>

 
 
 
 
0 تعليقات
POST Answer of Questions and ASK to Doubt