Skip to main content

Groups in TestNG



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>

Comments

Popular posts from this blog

DSA in C# | Data Structure and Algorithm using C#

  DSA in C# |  Data Structure and Algorithm using C#: Lecture 1: Introduction to Data Structures and Algorithms (1 Hour) 1.1 What are Data Structures? Data Structures are ways to store and organize data so it can be used efficiently. Think of data structures as containers that hold data in a specific format. Types of Data Structures: Primitive Data Structures : These are basic structures built into the language. Example: int , float , char , bool in C#. Example : csharp int age = 25;  // 'age' stores an integer value. bool isStudent = true;  // 'isStudent' stores a boolean value. Non-Primitive Data Structures : These are more complex and are built using primitive types. They are divided into: Linear : Arrays, Lists, Queues, Stacks (data is arranged in a sequence). Non-Linear : Trees, Graphs (data is connected in more complex ways). Example : // Array is a simple linear data structure int[] number...

JSP Page design using Internal CSS

  JSP is used to design the user interface of an application, CSS is used to provide set of properties. Jsp provide proper page template to create user interface of dynamic web application. We can write CSS using three different ways 1)  inline CSS:-   we will write CSS tag under HTML elements <div style="width:200px; height:100px; background-color:green;"></div> 2)  Internal CSS:-  we will write CSS under <style> block. <style type="text/css"> #abc { width:200px;  height:100px;  background-color:green; } </style> <div id="abc"></div> 3) External CSS:-  we will write CSS to create a separate file and link it into HTML Web pages. create a separate file and named it style.css #abc { width:200px;  height:100px;  background-color:green; } go into Jsp page and link style.css <link href="style.css"  type="text/css" rel="stylesheet"   /> <div id="abc"> </div> Exam...

Top 50 Most Asked MERN Stack Interview Questions and Answers for 2025

 Top 50 Most Asked MERN Stack Interview Questions and Answers for 2025 Now a days most of the IT Company asked NODE JS Question mostly in interview. I am creating this article to provide help to all MERN Stack developer , who is in doubt that which type of question can be asked in MERN Stack  then they can learn from this article. I am Shiva Gautam,  I have 15 Years of experience in Multiple IT Technology, I am Founder of Shiva Concept Solution Best Programming Institute with 100% Job placement guarantee. for more information visit  Shiva Concept Solution 1. What is the MERN Stack? Answer : MERN Stack is a full-stack JavaScript framework using MongoDB (database), Express.js (backend framework), React (frontend library), and Node.js (server runtime). It’s popular for building fast, scalable web apps with one language—JavaScript. 2. What is MongoDB, and why use it in MERN? Answer : MongoDB is a NoSQL database that stores data in flexible, JSON-like documents. It...