TestNG - Procedura di esecuzione

Questo capitolo spiega la procedura di esecuzione dei metodi in TestNG. Spiega l'ordine dei metodi chiamati. Ecco la procedura di esecuzione dei metodi API di test TestNG con un esempio.

Crea un nome file di classe java TestngAnnotation.java in C:\>TestNG_WORKSPACE per testare le annotazioni.

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");
   }

}

Quindi, creiamo il file testng.xml in C:\>TestNG_WORKSPACE per eseguire annotazioni.

<?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>

Compilare la classe Test case utilizzando javac.

C:\TestNG_WORKSPACE>javac TestngAnnotation.java

Ora, esegui testng.xml, che eseguirà il test case definito nella classe Test Case fornita.

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

Verifica l'output.

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
===============================================

Sulla base dell'output di cui sopra, la procedura di esecuzione è la seguente:

  • Prima di tutto, il metodo beforeSuite () viene eseguito una sola volta.

  • Infine, il metodo afterSuite () viene eseguito solo una volta.

  • Anche i metodi beforeTest (), beforeClass (), afterClass () e afterTest () vengono eseguiti una sola volta.

  • Il metodo beforeMethod () viene eseguito per ogni test case ma prima di eseguire il test case.

  • Il metodo afterMethod () viene eseguito per ogni test case ma dopo aver eseguito il test case.

  • Tra beforeMethod () e afterMethod (), viene eseguito ogni test case.