
In this tutorial, I will introduce you with TestNG annotations list. TestNG acts as a controller. TestNG controls the flow of execution of code with the help of annotations.
TestNG Annotations List
| Annotations | Description | 
| @BeforeSuite | The annotated method will run before all test methods run in this suite. | 
| @AfterSuite | The annotated method will run after all test methods run in this suite. | 
| @BeforeTest | The annotated method will run before any test method belonging to the classes. | 
| @AfterTest | The annotated method will run after all the test methods belonging to the classes. | 
| @BeforeGroups | The annotated method will run before the first test method that belongs to any of these groups is invoked. | 
| @AfterGroups | The annotated method will run after the last test method that belongs to any of these groups is invoked. | 
| @BeforeClass | The annotated method will run before the first test method run in the current class. | 
| @AfterClass | The annotated method will run before all the first test methods run in the current class. | 
| @BeforeMethod | The annotated method will run before each test method. | 
| @AfterMethod | The annotated method will run after each test method. | 
| @DataProvider | The annotated method provide data to the @Test methods. The annotated method returns an Object[][]. | 
| @Test | The annotated method contains test cases. | 
To understand more about TestNG Annotations and attributes (i.e. @Test, @DataProvider,... etc) with examples then look at Data-Driven Framework tutorial.
Let's understand the TestNG Annotations list with an example
package testng;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.AfterSuite;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.BeforeSuite;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
public class TestNGAnnotations {
 @BeforeSuite
 public void instantiate() {
  System.out.println("Instantiate Object");
 }
 @BeforeTest
 public void dataBaseConnection() {
  System.out.println("Database Connected");
 }
 @BeforeMethod
 public void BeforeMethod() {
  System.out.println("Run before each Test Case.");
 }
 @Test
 public void testCase1() {
  System.out.println("First Test Case Result..... ");
 }
 
 @Test
 public void testCase2() {
  System.out.println("Second Test Case Result.... ");
 }
 @AfterMethod
 public void AfterMethod() {
  System.out.println("Run after each Test Case");
 }
 @AfterTest
 public void dataBaseDisconnection() {
  System.out.println("Database Disconnected");
 }
 @AfterSuite
 public void destory() {
  System.out.println("Destory Object");
 }
}
How To Create testng.xml
testng.xml: Right click on Project --> TestNG --> Convert to TestNG.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="none">
  <test name="Test">
    <classes>
      <class name="testng.TestNGAnnotations"/>
    </classes>
  </test> <!-- Test -->
</suite> <!-- Suite -->
How To Run Or Execute TestNG
Right click on testng.xml --> Run As --> TestNG Suite OR Right click on java file --> Run As --> TestNG Test
Output:
Thanks for reading TestNG Annotations List.




