Open In App

TestNG Annotations – @BeforeTest

Last Updated : 08 Apr, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

The Concept Annotations is introduced in Java 1.5 (jdk5). The Popular Annotation in Java is @override. We use the same annotation concept in TestNG.

In TestNG, there are 10 Annotations

  • @BeforeSuite
  • @BeforeTest
  • @BeforeClass
  • @BeforeMethod
  • @Test Case
  • @AfterMethod
  • @AfterClass
  • @AfterTest
  • @AfterSuite

In this article, we will learn about @BeforeTest.

What is @BeforeTest?

@BeforeTest is one of the TestNG Annotations. As the name defines, @BeforeTest is executed before the execution of all the @test annotated methods inside a TestNG Suite. This annotation allows developers to specify various actions to be taken before the execution of all the @test annotated methods inside a TestNG Suite.

Example of @BeforeTest

Let’s understand the @BeforeTest annotation through an example.

Step 1: Open the Eclipse IDE.

Step 2: Create a Maven Project.

Step 3: After Creating the Maven Project, the project exploration will look like the below image.

Screenshot-(306)

Package Explorer

Step 4: Create a TestNG Class that contains @BeforeTest.

1. Before_Test1.Java

Java
package com.geeksforgeeks.test;

import org.testng.annotations.Test;
import org.testng.annotations.BeforeTest;

public class Before_Test1 {
  
  @BeforeTest
  public void beforeTest() {
      System.out.println("This method will be executed before the execution of all @Test annotated methods");
  }
 
  @Test
  public void test1() {
      System.out.println("Test1 Executed");
  }

  @Test
  public void test2() {
      System.out.println("Test2 Executed");
  }

}

Now, let’s explain what this code does:

  • Package Declaration
    • Before_Test1 Class is on the com.geeksforgeeks.test package.
  • Imports
    • Before_Test1 Class imports annotations and classes from the TestNG framework (org.testng.annotations.BeforeMethod and org.testng.annotations.Test).
  • Before_Test1 Class
    • This is the main test class.
    • It contains test methods and beforeTest method.
    • beforeTest (@BeforeTest):
      • This method is annotated with @BeforeTest, indicating that it should be executed before test execution this suite contains many classes.
      • It prints this “This method will be executed before the execution of all @Test annotated methods” statement.
    • Test Methods (@Test):
      • Each test method is annotated with @Test, indicating that it is a test case.
      • There are two test methods: test1() and test2().
      • Each test method prints their respective statement.
  • After performing the operation, the result is printed to the console.

Step 5: Now, we create the AnnotationsTest.xml file to configure the Before_Test1 Class.

XML
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">
<suite name="suite">
    <test name="test1">
        <classes>
               <class name="com.geeksforgeeks.test.Before_Test1" /> 
                
        </classes>
    </test>
</suite>

Step 6: Run the AnnotationsTest.xml. Right click on the AnnotationsTest.xml file, move the cursor down to Run As and then click on the 1 TestNG Suite.

Output

Screenshot-(337)

Output


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads