TestNG tutorial

Ce Este TestNG?

TestNG este un cadru de testare de automatizare รฎn care NG รฎnseamnฤƒ โ€žNext Generationโ€. TestNG este inspirat de JUnit care foloseศ™te adnotฤƒrile (@). TestNG depฤƒลŸeลŸte dezavantajele JUnit ศ™i este conceput pentru a face testarea end-to-end uศ™or.

Utilizarea TestNG, puteศ›i genera un raport adecvat ศ™i puteศ›i afla cu uศ™urinศ›ฤƒ cรขte cazuri de testare au fost trecute, eศ™uate ศ™i ignorate. Puteศ›i executa cazurile de testare eศ™uate separat.

De exemplu:

  • Sฤƒ presupunem cฤƒ aveศ›i cinci cazuri de testare, o metodฤƒ este scrisฤƒ pentru fiecare caz de testare (Sฤƒ presupunem cฤƒ programul este scris folosind metoda principalฤƒ fฤƒrฤƒ a utiliza testNG). Cรขnd executaศ›i mai รฎntรขi acest program, trei metode sunt executate cu succes, iar cea de-a patra metodฤƒ este eศ™uatฤƒ. Apoi corectaศ›i erorile prezente รฎn a patra metodฤƒ, acum doriศ›i sฤƒ rulaศ›i doar a patra metodฤƒ pentru cฤƒ primele trei metode sunt oricum executate cu succes. Acest lucru nu este posibil fฤƒrฤƒ utilizarea TestNG.
  • TestNG in Selenium oferฤƒ o opศ›iune, adicฤƒ fiศ™ierul testng-failed.xml รฎn folderul test-output. Dacฤƒ doriศ›i sฤƒ rulaศ›i numai cazuri de testare eศ™uate, รฎnseamnฤƒ cฤƒ rulaศ›i acest fiศ™ier XML. Va executa doar cazuri de testare nereuศ™ite.

Pe lรขngฤƒ conceptul de mai sus, veศ›i afla mai multe despre TestNG, cum ar fi care sunt Avantajele TestNG, cum sฤƒ creaศ›i metode de testare folosind adnotฤƒri @test, cum sฤƒ convertiศ›i aceste clase รฎn fiศ™ierul suitฤƒ de testare ศ™i sฤƒ le executaศ›i prin eclipse, precum ศ™i din linia de comandฤƒ.

De ce folosiศ›i TestNG implementate cu Selenium?

Mod implicit Selenium testele nu genereazฤƒ un format adecvat pentru rezultatele testelor. Folosind TestNG in Selenium, putem genera rezultate ale testelor.

pod Selenium utilizatorii folosesc acest lucru mai mult decรขt Junit din cauza avantajelor sale. Existฤƒ atรขt de multe caracteristici ale TestNG, dar ne vom concentra doar pe cele mai importante pe care le putem folosi Selenium. Urmฤƒtoarele sunt caracteristicile cheie ale Selenium TestNG:

  • Generaศ›i raportul รฎntr-un format adecvat, inclusiv un numฤƒr de cazuri de testare, numฤƒrul de cazuri de testare trecute, numฤƒrul de cazuri de testare nereuศ™ite ศ™i numฤƒrul de cazuri de testare omise.
  • Mai multe cazuri de testare pot fi grupate mai uศ™or prin conversia lor รฎn fiศ™ierul testng.xml. รŽn care puteศ›i stabili prioritฤƒศ›i care caz de testare trebuie executat mai รฎntรขi.
  • Acelaศ™i caz de testare poate fi executat de mai multe ori fฤƒrฤƒ bucle doar folosind cuvรขntul cheie numit โ€žnumฤƒr de invocariโ€.
  • Folosind testng, puteศ›i executa mai multe cazuri de testare pe mai multe browsere, adicฤƒ cross testarea browserului.
  • TestNG framework-ul poate fi uศ™or integrat cu instrumente precum TestNG Maven, Jenkins etc.
  • Adnotฤƒrile folosite รฎn testare sunt foarte uศ™or de รฎnศ›eles, de exemplu: @BeforeMethod, @AfterMethod, @BeforeTest, @AfterTest
  • WebDriver nu are un mecanism nativ pentru generarea de rapoarte. TestNG poate genera raportul รฎntr-un format care poate fi citit ca cel prezentat mai jos.
  • Utilizare TestNG implementate cu Selenium

  • TestNG simplificฤƒ modul รฎn care sunt codificate testele. Nu mai este nevoie de o metodฤƒ principalฤƒ staticฤƒ รฎn testele noastre. Secvenศ›a acศ›iunilor este reglementatฤƒ de adnotฤƒri uศ™or de รฎnศ›eles care nu necesitฤƒ ca metodele sฤƒ fie statice.
  • Utilizare TestNG implementate cu Selenium

    Utilizare TestNG implementate cu Selenium

  • Excepศ›iile neprinse sunt gestionate automat de TestNG fฤƒrฤƒ a termina testul prematur. Aceste excepศ›ii sunt raportate ca paศ™i nereuศ™iศ›i รฎn raport.

Avantajele TestNG peste JUnit

Existฤƒ trei avantaje majore ale TestNG peste JUnit:

  • Adnotฤƒrile sunt mai uศ™or de รฎnศ›eles
  • Cazurile de testare pot fi grupate mai uศ™or
  • Este posibilฤƒ testarea รฎn paralel

รŽn ce este Adnotarea TestNG?

Adnotฤƒri รฎn TestNG sunt linii de cod care pot controla modul รฎn care va fi executatฤƒ metoda de sub ele. Ele sunt รฎntotdeauna precedate de simbolul @. Un foarte devreme ศ™i rapid TestNG Un exemplu este cel prezentat mai jos.

Adnotare รฎn TestNG

Adnotฤƒrile vor fi discutate mai tรขrziu รฎn secศ›iunea numitฤƒ โ€žAdnotฤƒri utilizate รฎn TestNG,โ€deci este perfect ok dacฤƒ nu รฎnศ›elegi cele de mai sus TestNG Exemplu รฎncฤƒ. Este important doar sฤƒ reศ›ineศ›i cฤƒ, pentru moment, adnotฤƒrile รฎn TestNG sunt mai uศ™or de codat ศ™i de รฎnศ›eles decรขt รฎn JUnit.

Capacitatea de a rula teste รฎn paralel este disponibilฤƒ รฎn TestNG dar nu รฎn JUnit, Astfel รฎncรขt TestNG framework-ul este mai preferat pentru testeri Selenium Grilฤƒ.

Cum sฤƒ scrieศ›i cazuri de testare รฎn TestNG?

Pas 1) Scrieศ›i logica dvs. de afaceri ศ™i introduceศ›i TestNG adnotฤƒri รฎn codul dvs.
Pas 2) Adฤƒugaศ›i mai multe informaศ›ii precum numele clasei, numele grupurilor, numele pachetului etc
Pas 3) Porneศ™te TestNG.

Creaศ›i un caz de testare folosind TestNG Adnotฤƒri

Acum, vom รฎnvฤƒศ›a cum sฤƒ creฤƒm primul nostru caz de testare folosind TestNG Adnotฤƒri รฎn Selenium:

รŽnainte de a crea un caz de testare, ar trebui mai รฎntรขi sฤƒ setฤƒm unul nou TestNG Proiect รฎn Eclipse ศ™i denumeศ™te-l ca โ€žPrimulTestNGProiect".

Configurarea unui nou TestNG Proiect

Pasul 1: Faceศ›i clic pe Fiศ™ier > Nou > Java Proiect

Configurarea unui nou TestNG Proiect

Pasul 2: Tastaศ›i โ€žPrimulTestNGProiectโ€ ca Nume Proiect, apoi faceศ›i clic pe Urmฤƒtorul.

Configurarea unui nou TestNG Proiect

Pasul 3: Acum vom รฎncepe sฤƒ importฤƒm fiศ™ierul TestNG Biblioteci รฎn proiectul nostru. Faceศ›i clic pe fila โ€žBiblioteciโ€, apoi pe โ€žAdฤƒugaศ›i o bibliotecฤƒ...โ€

Configurarea unui nou TestNG Proiect

Pasul 4: รŽn caseta de dialog Adฤƒugare bibliotecฤƒ, alegeศ›i โ€žTestNGโ€ศ˜i faceศ›i clic pe Urmฤƒtorul.

Configurarea unui nou TestNG Proiect

Pasul 5: Faceศ›i clic pe Finalizare.

Configurarea unui nou TestNG Proiect

Ar trebui sฤƒ observi asta TestNG este inclus pe lista Biblioteci.

Configurarea unui nou TestNG Proiect

Pasul 6: Vom adฤƒuga acum fiศ™ierele JAR care conศ›in fiศ™ierul Selenium API. Aceste fiศ™iere se gฤƒsesc รฎn Java driverul client de pe care l-am descฤƒrcat https://www.selenium.dev/downloads/ cรขnd instalam Selenium ศ™i Eclipse รฎn capitolele precedente.

Configurarea unui nou TestNG Proiect

Apoi, navigaศ›i pรขnฤƒ unde aศ›i plasat Selenium fiศ™iere JAR.

Configurarea unui nou TestNG Proiect

Dupฤƒ adฤƒugarea JAR-urilor externe, ecranul dvs. ar trebui sฤƒ arate astfel.

Configurarea unui nou TestNG Proiect

Pasul 7: Faceศ›i clic pe Terminare ศ™i verificaศ›i cฤƒ primul nostruTestNGProiectul este vizibil pe Eclipsefereastra Explorer de pachete a lui.

Configurarea unui nou TestNG Proiect

Cum se creeazฤƒ un nou TestNG Fiศ™ier de testare

Acum cฤƒ am terminat de configurat proiectul nostru รฎn asta TestNG tutorial, haideศ›i sฤƒ creฤƒm un nou TestNG fiศ™ier.

Pasul 1: Faceศ›i clic pe โ€žsrcโ€ ศ™i Alegeศ›i altele.
Faceศ›i clic dreapta pe folderul pachetului โ€žsrcโ€, apoi alegeศ›i Nou > Altele...

Creaza un nou TestNG Fiศ™ier de testare

Pasul 2: Selectaศ›i TestNG clasฤƒ.
Dati click pe TestNG folder ศ™i selectaศ›i โ€žTestNG opศ›iunea de clasฤƒโ€. Faceศ›i clic pe Urmฤƒtorul.

Creaza un nou TestNG Fiศ™ier de testare

Pasul 3: Introduceศ›i valorile.
Introduceศ›i valorile indicate mai jos รฎn casetele de introducere corespunzฤƒtoare ศ™i faceศ›i clic pe Terminare. Observaศ›i cฤƒ ne-am numit nostru Java fiศ™ier ca โ€žPrimulTestNGFiลŸier".

Creaza un nou TestNG Fiศ™ier de testare

Pasul 4: ศ˜ablon creat.
Eclipse ar trebui sฤƒ creeze automat ศ™ablonul pentru nostru TestNG fiศ™ierul prezentat mai jos.

Creaza un nou TestNG Fiศ™ier de testare

Codificarea Primului nostru TestNG Exemplu de caz de testare

Sฤƒ creฤƒm acum primul nostru Caz de testare care va verifica dacฤƒ Mercury Pagina de pornire a Tours este corectฤƒ. Introduceศ›i codul, aศ™a cum se aratฤƒ รฎn mai jos TestNG Exemplu:

package firsttestngpackage;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;
import org.testng.annotations.*;

public class firsttestngfile {
    public String baseUrl = "https://demo.guru99.com/test/newtours/";
    String driverPath = "C:\\geckodriver.exe";
    public WebDriver driver ; 
     
  @Test
  public void verifyHomepageTitle() {
       
      System.out.println("launching firefox browser"); 
      System.setProperty("webdriver.gecko.driver", driverPath);
      driver = new FirefoxDriver();
      driver.get(baseUrl);
      String expectedTitle = "Welcome: Mercury Tours";
      String actualTitle = driver.getTitle();
      Assert.assertEquals(actualTitle, expectedTitle);
      driver.close();
  }
}

Observaศ›i urmฤƒtoarele.

  • TestNG nu necesitฤƒ sฤƒ aveศ›i o metodฤƒ main().
  • Metodele nu trebuie sฤƒ fie statice.
  • Am folosit adnotarea @Test. @Test este folosit pentru a spune cฤƒ metoda de sub ea este un caz de testare. รŽn acest caz, am setat metoda verifyHomepageTitle() sฤƒ fie cazul nostru de testare, aศ™a cฤƒ am plasat o adnotare โ€ž@Testโ€ deasupra acesteia.
  • Deoarece folosim adnotฤƒri รฎn TestNG, trebuia sฤƒ importฤƒm pachetul org.testng.annotations.*.
  • Am folosit clasa Assert. Clasa Assert este folositฤƒ pentru a efectua operaศ›iuni de verificare รฎn TestNG. Pentru a-l folosi, trebuie sฤƒ importam pachetul org.testng.Assert.

Este posibil sฤƒ aveศ›i mai multe cazuri de testare (prin urmare, mai multe adnotฤƒri @Test) รฎntr-un singur TestNG fiลŸier. Acest lucru va fi abordat mai detaliat mai tรขrziu รฎn secศ›iunea โ€žAdnotฤƒri utilizate รฎn TestNG. "

Executarea testului

Pentru a rula testul, pur ศ™i simplu rulaศ›i fiศ™ierul รฎn Eclipse aศ™a cum faceศ›i รฎn mod normal. Eclipse va oferi douฤƒ ieศ™iri โ€“ una รฎn fereastra Consolฤƒ ศ™i cealaltฤƒ pe TestNG Fereastra rezultate.

Executarea testului

Executarea testului

Verificarea rapoartelor create de TestNG

Fereastra Consolฤƒ รฎn Eclipse oferฤƒ un raport bazat pe text al rezultatelor cazului nostru de testare รฎn timp ce TestNG Fereastra de rezultate ne oferฤƒ una graficฤƒ.

Verificarea rapoartelor create de TestNG

Generarea de rapoarte HTML

TestNG are capacitatea de a genera rapoarte รฎn format HTML.

Pasul 1: Dupฤƒ ce a rulat primul nostruTestNGFiศ™ierul pe care l-am creat รฎn secศ›iunea anterioarฤƒ, faceศ›i clic dreapta pe numele proiectului (PrimulTestNGProject) รฎn fereastra Project Explorer, apoi faceศ›i clic pe opศ›iunea โ€žReรฎmprospฤƒtareโ€.

Generarea de rapoarte HTML

Pasul 2: Observaศ›i cฤƒ a fost creat un folder โ€žtest-outputโ€. Extindeศ›i-l ศ™i cฤƒutaศ›i un fiศ™ier index.html. Acest fiศ™ier HTML este un raport al rezultatelor celei mai recente teste.

Generarea de rapoarte HTML

Pasul 3: Double-faceศ›i clic pe acel fiศ™ier index.html pentru a-l deschide Eclipsebrowser-ul web รฎncorporat. Puteศ›i reรฎmprospฤƒta aceastฤƒ paginฤƒ oricรขnd dupฤƒ ce aศ›i reluat testul prin simpla apฤƒsare a F5 la fel ca รฎn browserele web obiศ™nuite.

Generarea de rapoarte HTML

Adnotฤƒrile utilizate รฎn TestNG

รŽn secศ›iunea anterioarฤƒ, aศ›i fost introdus รฎn adnotarea @Test. Acum, vom studia adnotฤƒrile mai avansate ศ™i utilizฤƒrile lor.

Cazuri de testare multiple

Putem folosi mai multe adnotฤƒri @Test รฎntr-o singurฤƒ TestNG fiลŸier. รŽn mod implicit, metodele adnotate de @Test sunt executate alfabetic. Vezi codul de mai jos. Deศ™i metodele c_test, a_test ศ™i b_test nu sunt aranjate alfabetic รฎn cod, ele vor fi executate ca atare.

Adnotฤƒrile utilizate รฎn TestNG

Rulaศ›i acest cod ศ™i pe pagina index.html generatฤƒ, faceศ›i clic pe โ€žVizualizare cronologicฤƒโ€.

Adnotฤƒrile utilizate รฎn TestNG

parametrii

Dacฤƒ doriศ›i ca metodele sฤƒ fie executate รฎntr-o ordine diferitฤƒ, utilizaศ›i parametrul โ€žprioritateโ€. Parametrii sunt cuvinte cheie care modificฤƒ funcศ›ia adnotฤƒrii.

  • Parametrii necesitฤƒ sฤƒ le atribuiศ›i o valoare. Faceศ›i acest lucru plasรขnd un โ€ž=" lรขngฤƒ ele, apoi urmat de valoare.
  • Parametrii sunt รฎncadraศ›i รฎntr-o pereche de paranteze care sunt plasate imediat dupฤƒ adnotare, ca fragmentul de cod prezentat mai jos.

parametrii

TestNG va executa adnotarea @Test cu cea mai micฤƒ valoare de prioritate pรขnฤƒ la cea mai mare. Nu este nevoie ca valorile dvs. prioritare sฤƒ fie consecutive.

parametrii

TestNG Raportul HTML va confirma cฤƒ metodele au fost executate pe baza valorii crescฤƒtoare a prioritฤƒศ›ii.

parametrii

Parametri multipli

Pe lรขngฤƒ โ€žprioritateโ€, @Test are un alt parametru numit โ€žalwaysRunโ€, care poate fi setat doar la โ€žadevฤƒratโ€ sau โ€žfalsโ€. Pentru a utiliza doi sau mai mulศ›i parametri รฎntr-o singurฤƒ adnotare, separaศ›i-i cu o virgulฤƒ precum cel prezentat mai jos.

@Test(priority = 0, alwaysRun = true)

Parametri multipli

@BeforeTest ศ™i @AfterTest

@BeforeTest metodele sub aceastฤƒ adnotare vor fi executate รฎnainte de primul caz de testare รฎn TestNG fiลŸier.
@AfterTest metodele sub aceastฤƒ adnotare vor fi executate dupฤƒ toate cazurile de testare รฎn TestNG fiศ™ierul sunt executate.

Luaศ›i รฎn considerare codul de mai jos.

package firsttestngpackage;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;
import org.testng.annotations.*;
public class firsttestngfile {
    public String baseUrl = "https://demo.guru99.com/test/newtours/";
    String driverPath = "C:\\geckodriver.exe";
    public WebDriver driver ; 
     
     @BeforeTest
      public void launchBrowser() {
          System.out.println("launching firefox browser"); 
          System.setProperty("webdriver.gecko.driver", driverPath);
          driver = new FirefoxDriver();
          driver.get(baseUrl);
      }
      @Test
      public void verifyHomepageTitle() {
          String expectedTitle = "Welcome: Mercury Tours";
          String actualTitle = driver.getTitle();
          Assert.assertEquals(actualTitle, expectedTitle);
     }
      @AfterTest
      public void terminateBrowser(){
          driver.close();
      }
}

Aplicรขnd logica prezentatฤƒ de tabel ศ™i codul de mai sus, putem prezice cฤƒ secvenศ›a prin care vor fi executate metodele este:

  • 1st โ€“ launchBrowser()
  • 2nd โ€“ verifyHomepageTitle()
  • 3rd โ€“ terminateBrowser()

Amplasarea blocurilor de adnotare poate fi interschimbatฤƒ fฤƒrฤƒ a afecta ordinea cronologicฤƒ รฎn care vor fi executate.. Sฤƒ รฎnศ›elegem cu a TestNG Exemplu ศ™i รฎncercaศ›i sฤƒ rearanjaศ›i blocurile de adnotฤƒri astfel รฎncรขt codul dvs. sฤƒ arate similar cu cel de mai jos.

package firsttestngpackage;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;
import org.testng.annotations.*;
public class firsttestngfile {
    public String baseUrl = "https://demo.guru99.com/test/newtours/";
    String driverPath = "C:\\geckodriver.exe";
    public WebDriver driver ; 
     @AfterTest                            //Jumbled
      public void terminateBrowser(){
          driver.close();
      }
     @BeforeTest                            //Jumbled
      public void launchBrowser() {
          System.out.println("launching firefox browser"); 
          System.setProperty("webdriver.gecko.driver", driverPath);
          driver = new FirefoxDriver();
          driver.get(baseUrl);
      }
      @Test                                //Jumbled
      public void verifyHomepageTitle() {
          String expectedTitle = "Welcome: Mercury Tours";
          String actualTitle = driver.getTitle();
          Assert.assertEquals(actualTitle, expectedTitle);
     }
      
}

Rulaศ›i codul de mai sus ศ™i observaศ›i asta

Parametri multipli

@BeforeMethod ศ™i @AfterMethod

@BeforeMethod metodele sub aceastฤƒ adnotare vor fi executate รฎnainte de fiecare metodฤƒ รฎn fiecare caz de testare.
@AfterMethod metodele sub aceastฤƒ adnotare vor fi executate dupฤƒ fiecare metodฤƒ รฎn fiecare caz de testare.

In Mercury Tururi, sฤƒ presupunem cฤƒ ne place sฤƒ verificฤƒm titlurile paginilor ศ›intฤƒ ale celor douฤƒ link-uri de mai jos.

Parametri multipli

Fluxul testului nostru ar fi:

  • Accesaศ›i pagina principalฤƒ ศ™i verificaศ›i titlul acesteia.
  • Faceศ›i clic pe รŽNREGISTRARE ศ™i verificaศ›i titlul paginii ศ›intฤƒ.
  • Reveniศ›i la pagina de pornire ศ™i verificaศ›i dacฤƒ mai are titlul corect.
  • Faceศ›i clic pe ASISTENศšฤ‚ ศ™i verificaศ›i titlul paginii ศ›intฤƒ.
  • Reveniศ›i la pagina de pornire ศ™i verificaศ›i dacฤƒ mai are titlul corect.

Codul de mai jos ilustreazฤƒ modul รฎn care @BeforeMethod ศ™i @AfterMethod sunt folosite pentru a executa eficient scenariul menศ›ionat mai sus.

package firsttestngpackage;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;
import org.testng.annotations.*;
@Test
public class firsttestngfile {
    public String baseUrl = "https://demo.guru99.com/test/newtours/";
    String driverPath = "C:\\geckodriver.exe";
    public WebDriver driver; 
    public String expected = null;
    public String actual = null;
        @BeforeTest
      public void launchBrowser() {
          System.out.println("launching firefox browser"); 
          System.setProperty("webdriver.gecko.driver", driverPath);
          driver= new FirefoxDriver();
          driver.get(baseUrl);
      }
      
      @BeforeMethod
      public void verifyHomepageTitle() {
          String expectedTitle = "Welcome: Mercury Tours";
          String actualTitle = driver.getTitle();
          Assert.assertEquals(actualTitle, expectedTitle);
      }
          @Test(priority = 0)
      public void register(){
          driver.findElement(By.linkText("REGISTER")).click() ;
          expected = "Register: Mercury Tours";
          actual = driver.getTitle();
          Assert.assertEquals(actual, expected);
      }
          @Test(priority = 1)
      public void support() {
            driver.findElement(By.linkText("SUPPORT")).click() ;
            expected = "Under Construction: Mercury Tours";
            actual = driver.getTitle();
            Assert.assertEquals(actual, expected);
      }
      @AfterMethod
      public void goBackToHomepage ( ) {
            driver.findElement(By.linkText("Home")).click() ;
      }
       
      @AfterTest
      public void terminateBrowser(){
          driver.close();
      }
}

Dupฤƒ executarea acestui test, dvs TestNG ar trebui sฤƒ raporteze urmฤƒtoarea secvenศ›ฤƒ.

Parametri multipli

Pur ศ™i simplu, @BeforeMethod ar trebui sฤƒ conศ›inฤƒ metode pe care trebuie sฤƒ le rulaศ›i รฎnainte fiecare caz de testare รฎn timp ce @AfterMethod ar trebui sฤƒ conศ›inฤƒ metode pe care trebuie sฤƒ le rulaศ›i dupฤƒ fiecare caz de testare.

Rezumatul TestNG Adnotฤƒri

@BeforeSuite: Metoda adnotatฤƒ va fi rulatฤƒ รฎnainte ca toate testele din aceastฤƒ suitฤƒ sฤƒ fie rulate.

@AfterSuite: Metoda adnotatฤƒ va fi rulatฤƒ dupฤƒ ce toate testele din aceastฤƒ suitฤƒ au fost executate.

@BeforeTest: Metoda adnotatฤƒ va fi rulatฤƒ รฎnainte de rularea oricฤƒrei metode de testare aparศ›inรขnd claselor din interiorul etichetei.

@AfterTest: Metoda adnotatฤƒ va fi rulatฤƒ dupฤƒ ce toate metodele de testare aparศ›inรขnd claselor din interiorul etichetei au fost rulate.

@BeforeGroups: Lista de grupuri pe care aceastฤƒ metodฤƒ de configurare le va rula รฎnainte. Se garanteazฤƒ cฤƒ aceastฤƒ metodฤƒ va rula cu puศ›in timp รฎnainte ca prima metodฤƒ de testare care aparศ›ine oricฤƒruia dintre aceste grupuri sฤƒ fie invocatฤƒ.

@AfterGroups: Lista de grupuri dupฤƒ care va rula aceastฤƒ metodฤƒ de configurare. Aceastฤƒ metodฤƒ este garantatฤƒ sฤƒ ruleze la scurt timp dupฤƒ ce ultima metodฤƒ de testare care aparศ›ine oricฤƒruia dintre aceste grupuri este invocatฤƒ.

@รŽnainte de curs: Metoda adnotatฤƒ va fi rulatฤƒ รฎnainte ca prima metodฤƒ de testare din clasa curentฤƒ sฤƒ fie invocatฤƒ.

@Dupฤƒ clasa: Metoda adnotatฤƒ va fi rulatฤƒ dupฤƒ ce toate metodele de testare din clasa curentฤƒ au fost rulate.

@BeforeMethod: Metoda adnotatฤƒ va fi rulatฤƒ รฎnainte de fiecare metodฤƒ de testare.

@AfterMethod: Metoda adnotatฤƒ va fi rulatฤƒ dupฤƒ fiecare metodฤƒ de testare.

@Test: Metoda adnotatฤƒ face parte dintr-un caz de testare

Concluzie

  • TestNG este de testare cadru care este capabil sฤƒ facฤƒ Selenium teste mai uศ™or de รฎnศ›eles ศ™i de a genera rapoarte uศ™or de รฎnศ›eles.
  • Principalele avantaje ale TestNG peste JUnit sunt urmฤƒtoarele.
    • Adnotฤƒrile sunt mai uศ™or de utilizat ศ™i de รฎnศ›eles.
    • Cazurile de testare pot fi grupate mai uศ™or.
    • TestNG ne permite sฤƒ creฤƒm teste paralele.
  • Fereastra Consolฤƒ รฎn Eclipse genereazฤƒ un rezultat bazat pe text รฎn timp ce TestNG fereastra este mai utilฤƒ deoarece ne oferฤƒ o ieศ™ire graficฤƒ a rezultatului testului plus alte detalii semnificative, cum ar fi:
    • Timpul de execuศ›ie al fiecฤƒrei metode.
    • Ordinea cronologicฤƒ รฎn care au fost executate metodele
  • TestNG este capabil sฤƒ genereze rapoarte bazate pe HTML.
  • Adnotฤƒrile pot folosi parametri la fel ca de obicei Java TestNG metode.
  • TestNG Furnizor de date este o modalitate de a trece parametri รฎn funcศ›ia de testare care trece valori diferite รฎn cazurile de testare รฎntr-o singurฤƒ execuศ›ie.

Rezumaศ›i aceastฤƒ postare cu: