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.