TestNG - Procédure d'exécution

Ce chapitre explique la procédure d'exécution des méthodes dans TestNG. Il explique l'ordre des méthodes appelées. Voici la procédure d'exécution des méthodes de l'API de test TestNG avec un exemple.

Créer un nom de fichier de classe Java TestngAnnotation.java dans C:\>TestNG_WORKSPACE pour tester les annotations.

import org.testng.annotations.Test;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeSuite;
import org.testng.annotations.AfterSuite;

public class TestngAnnotation {
   // test case 1
   @Test
   public void testCase1() {
      System.out.println("in test case 1");
   }

   // test case 2
   @Test
   public void testCase2() {
      System.out.println("in test case 2");
   }

   @BeforeMethod
   public void beforeMethod() {
      System.out.println("in beforeMethod");
   }

   @AfterMethod
   public void afterMethod() {
      System.out.println("in afterMethod");
   }

   @BeforeClass
   public void beforeClass() {
      System.out.println("in beforeClass");
   }

   @AfterClass
   public void afterClass() {
      System.out.println("in afterClass");
   }

   @BeforeTest
   public void beforeTest() {
      System.out.println("in beforeTest");
   }

   @AfterTest
   public void afterTest() {
      System.out.println("in afterTest");
   }

   @BeforeSuite
   public void beforeSuite() {
      System.out.println("in beforeSuite");
   }

   @AfterSuite
   public void afterSuite() {
      System.out.println("in afterSuite");
   }

}

Ensuite, créons le fichier testng.xml dans C:\>TestNG_WORKSPACE pour exécuter des annotations.

<?xml version = "1.0" encoding = "UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >

<suite name = "Suite1">
   <test name = "test1">
      <classes>
         <class name = "TestngAnnotation"/>
      </classes>
   </test>
</suite>

Compilez la classe de cas de test en utilisant javac.

C:\TestNG_WORKSPACE>javac TestngAnnotation.java

Maintenant, exécutez le testng.xml, qui exécutera le cas de test défini dans la classe de cas de test fournie.

C:\TestNG_WORKSPACE>java org.testng.TestNG testng.xml

Vérifiez la sortie.

in beforeSuite
in beforeTest
in beforeClass
in beforeMethod
in test case 1
in afterMethod
in beforeMethod
in test case 2
in afterMethod
in afterClass
in afterTest
in afterSuite

===============================================
Suite
Total tests run: 2, Failures: 0, Skips: 0
===============================================

Sur la base de la sortie ci-dessus, la procédure d'exécution est la suivante -

  • Tout d'abord, la méthode beforeSuite () n'est exécutée qu'une seule fois.

  • Enfin, la méthode afterSuite () ne s'exécute qu'une seule fois.

  • Même les méthodes beforeTest (), beforeClass (), afterClass () et afterTest () ne sont exécutées qu'une seule fois.

  • beforeMethod () s'exécute pour chaque cas de test mais avant d'exécuter le cas de test.

  • La méthode afterMethod () s'exécute pour chaque cas de test mais après l'exécution du cas de test.

  • Entre beforeMethod () et afterMethod (), chaque scénario de test s'exécute.