
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.




