TestNG tutorial

โšก Rezumat inteligent

TestNG este o generaศ›ie urmฤƒtoare Java cadru de testare care se รฎmperecheazฤƒ cu Selenium pentru automatizare structuratฤƒ, raportare complexฤƒ ศ™i execuศ›ie paralelฤƒ. Acest tutorial acoperฤƒ adnotฤƒrile de bazฤƒ, configurarea proiectului รฎn Eclipse, scrierea primului caz de testare, rapoarte HTML ศ™i utilizarea avansatฤƒ a parametrilor.

  • ๐Ÿงฑ Cadrul de bazฤƒ: TestNG extinde JUnit idei cu adnotฤƒri, gruppingศ™i executarea paralelฤƒ a testelor pentru Selenium apartamente.
  • ๐Ÿท๏ธ Adnotฤƒrile determinฤƒ fluxul: Configurarea, testarea ศ™i demontarea secvenศ›elor @Test, @BeforeMethod, @AfterMethod, @BeforeTest ศ™i @AfterTest.
  • ๐Ÿ—‚๏ธ Eclipse รŽnfiinศ›at: Construieศ™te o TestNG proiect, adฤƒugaศ›i TestNG bibliotecฤƒ ศ™i Selenium JAR-uri, apoi genereazฤƒ clase de test din expert.
  • ๐Ÿ“Š Raportarea: TestNG produce rapoarte text, grafice ศ™i HTML รฎn folderul test-output, inclusiv vizualizฤƒri cronologice.
  • โš™๏ธ parametri: Foloseศ™te prioritate, alwaysRun ศ™i dataProvider pentru a controla ordinea de execuศ›ie ศ™i a introduce date รฎn teste.
  • ๐Ÿค– AI Boost: Asistenศ›ii de codare cu inteligenศ›ฤƒ artificialฤƒ accelereazฤƒ TestNG generare de clase, actualizฤƒri ale localizatorului ศ™i schelฤƒrie dataProvider.

TestNG tutorial

Ce Este TestNG?

TestNG este un framework de testare automatฤƒ, unde โ€žNGโ€ รฎnseamnฤƒ โ€žNext Generationโ€. TestNG este inspirat de JUnit ศ™i utilizฤƒri Java adnotฤƒri (@) pentru a controla fluxul de testare. Depฤƒศ™eศ™te JUnitlimitฤƒrile anterioare ale ศ™i este conceput pentru a face testarea end-to-end mai uศ™or.

cu TestNG Puteศ›i genera un raport adecvat ศ™i puteศ›i vedea imediat cรขte teste au fost reuศ™ite, eศ™uate sau omise. De asemenea, puteศ›i rula din nou doar cazurile eศ™uate.

De exemplu:

  • Sฤƒ presupunem cฤƒ aveศ›i cinci cazuri de testare, fiecare cu propria metodฤƒ, scrise fฤƒrฤƒ TestNGTrei รฎncercฤƒri reuศ™ite; a patra eศ™ueazฤƒ. Dupฤƒ ce aศ›i remediat a patra รฎncercare, doriศ›i sฤƒ o rulaศ›i din nou doar pe aceasta, deoarece primele trei au trecut deja. Acest lucru este dificil de fฤƒcut cu cod simplu al metodei main().
  • TestNG oferฤƒ o testng-failed.xml de fiศ™ier รฎn test-output folder. Rularea acelui fiศ™ier XML reexecutฤƒ doar cazurile eศ™uate.

Dincolo de asta, veศ›i afla avantajele TestNG, cum sฤƒ scrii metode de testare cu adnotฤƒri @Test ศ™i cum sฤƒ-ศ›i transformi clasele รฎntr-o suitฤƒ de teste care ruleazฤƒ de la Eclipse sau linia de comandฤƒ.

De ce folosiศ›i TestNG implementate cu Selenium?

รŽn mod implicit, Selenium testele nu produc rezultate frumos formatate. Cu TestNG conectat, rulatorul de teste emite un raport structurat pe care รฎl puteศ›i partaja cu echipa.

pod Selenium utilizatorii preferฤƒ TestNG peste JUnit datoritฤƒ setului sฤƒu mai larg de funcศ›ii. Caracteristicile cheie pentru Selenium sunt:

  • Rapoarte care includ numฤƒrul de cazuri de testare rulate, reuศ™ite, eศ™uate ศ™i omise.
  • Grupare uศ™oarฤƒping cazurilor de testare prin intermediul unui testng.xml fiศ™ier, cu prioritฤƒศ›i de execuศ›ie.
  • Repetaศ›i un test de mai multe ori fฤƒrฤƒ bucle folosind invocationCount.
  • Executaศ›i teste multiple pe mai multe browsere โ€” cross-testarea browserului sprijini.
  • Integrare linฤƒ cu Maven, Jenkinsศ™i alte instrumente de integrare continuฤƒ.
  • Readable adnotฤƒri โ€” de exemplu, @BeforeMethod, @AfterMethod, @BeforeTest, @AfterTest.
  • Selenium WebDriver nu are raportare nativฤƒ; TestNG umple acel gol cu โ€‹โ€‹un raport HTML curat, precum cel de mai jos.

TestNG exemplu de raport HTML pentru Selenium teste

  • TestNG simplificฤƒ codul de testare. Nu mai aveศ›i nevoie de o metodฤƒ main staticฤƒ; adnotฤƒrile decid ce ศ™i cรขnd se executฤƒ.

Ca de obicei Java structura clasei de test cu metoda principalฤƒ

TestNG testarea structurii clasei folosind adnotฤƒri

  • Excepศ›iile neinterceptate sunt gestionate cu eleganศ›ฤƒ de cฤƒtre TestNGAceศ™tia sunt raportaศ›i ca paศ™i eศ™uaศ›i fฤƒrฤƒ a termina รฎntreaga rulare.

Avantajele TestNG peste JUnit

TestNG oferฤƒ trei avantaje majore faศ›ฤƒ de JUnit:

  • Adnotฤƒrile sunt mai uศ™or de รฎnศ›eles ศ™i de utilizat.
  • Cazurile de testare pot fi grupate ศ™i prioritizate cu mai puศ›in efort.
  • Executarea testelor paralele este acceptatฤƒ din fabricฤƒ.

Ce este o adnotaศ›ie รฎn TestNG?

Adnotฤƒri รฎn TestNG sunt linii de cod plasate deasupra unei metode pentru a controla modul รฎn care aceasta este executatฤƒ. Acestea รฎncep รฎntotdeauna cu simbolul @. Un exemplu simplu este prezentat mai jos.

Exemplu TestNG adnotare deasupra unei Java metodฤƒ

Adnotฤƒrile sunt prezentate รฎn detaliu รฎn secศ›iunea โ€žAdnotฤƒri utilizate รฎn TestNGMatei 22:21 mai tรขrziu รฎn acest tutorial, aศ™a cฤƒ exemplul de mai sus este doar pentru a stabili aศ™teptฤƒri. TestNG Adnotฤƒrile sunt mai uศ™or de codat ศ™i de citit decรขt JUnit echivalente ศ™i sunt esenศ›iale atunci cรขnd se executฤƒ teste pe Selenium Grilฤƒ unde execuศ›ia paralelฤƒ conteazฤƒ.

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

Scrierea a TestNG Cazul de testare are trei etape:

  1. Scrieศ›i logica ศ™i locul afacerii dvs. TestNG adnotฤƒrile deasupra fiecฤƒrei metode.
  2. Adฤƒugaศ›i metadate precum numele clasei, numele grupului ศ™i numele pachetului.
  3. Porneศ™te TestNG clasฤƒ din IDE-ul dvs. sau din linia de comandฤƒ.

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

Acum vom crea primul nostru caz de testare folosind TestNG adnotฤƒri รฎn SeleniumรŽnainte de a scrie testul, configuraศ›i un nou TestNG proiect in Eclipse ศ™i spune-i PrenumeleTestNGProiect.

Configurarea unui nou TestNG Proiect

Pas 1) Clic Fiศ™ier > Nou > Java Proiect.

Eclipse meniu pentru a crea unul nou Java proiect

Pas 2) Intraศ›i PrenumeleTestNGProiect ca nume al proiectului ศ™i faceศ›i clic pe Pagina Urmฤƒtoare โ†’.

Nou Java expert de proiect cu numele FirstTestNGProiect

Pas 3) Importaศ›i fiศ™ierul TestNG biblioteci. Faceศ›i clic pe Biblioteci fila ศ™i apoi Adฤƒugaศ›i o bibliotecฤƒโ€ฆ.

Fila Biblioteci cu opศ›iunea Adฤƒugare bibliotecฤƒ รฎn Eclipse

Pas 4) รŽn Adฤƒugaศ›i bibliotecฤƒ dialog, alegeศ›i TestNG ศ™i faceศ›i clic Pagina Urmฤƒtoare โ†’.

selectarea TestNG รฎn caseta de dialog Adฤƒugare bibliotecฤƒ

Pas 5) Clic finalizarea.

Finalizarea expertului Adฤƒugare bibliotecฤƒ

TestNG ar trebui sฤƒ aparฤƒ acum รฎn lista Biblioteci.

TestNG vizibil รฎn lista Bibliotecilor

Pas 6) Adฤƒugaศ›i fiศ™ierele JAR care conศ›in Selenium API. Acestea provin de la Java driver client descฤƒrcat de pe selenium.dev/downloads.

Caseta de dialog Adฤƒugaศ›i JAR-uri externe รฎn Eclipse

Navigaศ›i la folderul รฎn care Selenium Fiศ™ierele JAR sunt stocate.

selectarea Selenium Fiศ™iere JAR pentru calea de compilare

Dupฤƒ adฤƒugarea fiศ™ierelor JAR externe, ecranul ar trebui sฤƒ arate astfel.

Selenium JAR-uri adฤƒugate la lista Bibliotecilor

Pas 7) Clic finalizarea. Noul PrenumeleTestNGProiect apare รฎn Exploratorul de pachete.

PrenumeleTestNGProiect vizibil รฎn Exploratorul de pachete

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

Cu proiectul gata, creaศ›i unul nou TestNG fiศ™ier.

Pas 1) Faceศ›i clic dreapta pe src dosarul ศ™i alegeศ›i Nou > Alteleโ€ฆ.

Meniu nou Altele din folderul src din Eclipse

Pas 2) extinde TestNG folder, selectaศ›i TestNG clasฤƒ, ศ™i faceศ›i clic pe Pagina Urmฤƒtoare โ†’.

TestNG opศ›iunea de clasฤƒ din expertul Nou

Pas 3) Introduceศ›i valorile afiศ™ate mai jos ศ™i faceศ›i clic pe finalizarea. Java fiศ™ierul este numit PrenumeleTestNGFiศ™ier.

TestNG vrฤƒjitor de clasฤƒ cu PrimaTestNGValorile fiศ™ierelor

Pas 4) Eclipse genereazฤƒ TestNG ศ™ablonul prezentat mai jos.

generat TestNG ศ™ablon de clasฤƒ รฎn Eclipse editor

Programarea pentru prima datฤƒ TestNG Caz de testare

Creaศ›i primul caz de testare care verificฤƒ titlul Mercury Pagina principalฤƒ a excursiilor.

package firsttestngpackage;

import org.openqa.selenium.WebDriver;
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/";
    public WebDriver driver;

    @Test
    public void verifyHomepageTitle() {
        System.out.println("launching firefox browser");
        // Selenium 4 ships Selenium Manager, so the driver path is no longer required.
        driver = new FirefoxDriver();
        driver.get(baseUrl);
        String expectedTitle = "Welcome: Mercury Tours";
        String actualTitle = driver.getTitle();
        Assert.assertEquals(actualTitle, expectedTitle);
        driver.quit();
    }
}

Lucruri de observat:

  • TestNG nu are nevoie de main() metodฤƒ.
  • Metodele nu trebuie sฤƒ fie statice.
  • @Test semne de adnotare verifyHomepageTitle() ca un caz de testare.
  • Adnotฤƒrile se aflฤƒ รฎn org.testng.annotations.* pachet.
  • assert clasa de la org.testng.Assert verificฤƒrile conduce.

Este posibil sฤƒ aveศ›i mai multe adnotฤƒri @Test รฎntr-o singurฤƒ adnotare TestNG fiศ™ier. Acoperim acest aspect รฎn โ€žAdnotฤƒri utilizate รฎn TestNGMatei 22:21 secลฃiune.

Executarea testului

Faceศ›i clic dreapta pe fiศ™ier ศ™i rulaศ›i-l ca TestNG Test. Eclipse produce douฤƒ ieศ™iri โ€” un rezultat text รฎn fereastra Consolei ศ™i un rezultat grafic รฎn TestNG Fereastra rezultate.

TestNG Fereastra de rezultate cu rezultatul testului

Eclipse Fereastrฤƒ consolฤƒ cu TestNG ieศ™ire text

Verificarea rapoartelor create de TestNG

Fereastra Consolei oferฤƒ un rezumat textual รฎn timp ce TestNG Fereastra cu rezultate afiศ™eazฤƒ o reprezentare graficฤƒ.

Text vs. graficฤƒ TestNG compararea rezultatelor

Generarea de rapoarte HTML

TestNG poate genera, de asemenea, rapoarte HTML complete.

Pas 1) Dupฤƒ alergare PrenumeleTestNGFiศ™ier, faceศ›i clic dreapta pe proiect ศ™i alegeศ›i Reรฎmprospฤƒta.

Opศ›iune de reรฎmprospฤƒtare pentru TestNG proiect in Eclipse

Pas 2) A rezultat de test apare folderul. Extindeศ›i-l ศ™i localizaศ›i index.html โ€” raportul HTML pentru cea mai recentฤƒ rulare.

folderul test-output cu index.html evidenศ›iat

Pas 3) Double-clic index.html sฤƒ o deschid รฎnฤƒuntru EclipseBrowserul lui. Apฤƒsaศ›i F5 pentru a reรฎmprospฤƒta pagina dupฤƒ rulฤƒri viitoare.

TestNG Raportul index HTML redat รฎn Eclipse

Adnotฤƒri utilizate รฎn TestNG

Aศ›i vฤƒzut deja adnotarea @Test. Restul acestei secศ›iuni acoperฤƒ cele mai utile adnotฤƒri avansate.

Cazuri de testare multiple

Un singur TestNG Fiศ™ierul poate conศ›ine mai multe adnotฤƒri @Test. รŽn mod implicit, metodele adnotate cu @Test se executฤƒ รฎn ordine alfabeticฤƒ. รŽn codul de mai jos, metodele c_test, a_test ศ™i b_test ruleazฤƒ รฎn ordine alfabeticฤƒ, indiferent de ordinea surselor.

Mai multe metode @Test รฎntr-una singurฤƒ TestNG clasฤƒ

Rulaศ›i codul ศ™i deschideศ›i index.html. Clic Vizualizare cronologicฤƒ.

Vizualizare cronologicฤƒ a mai multor TestNG Metode

parametrii

Pentru a suprascrie ordinea implicitฤƒ, utilizaศ›i priority parametru. Parametrii sunt cuvinte cheie care modificฤƒ comportamentul unei adnotฤƒri.

  • Atribuiศ›i o valoare cu =.
  • รŽncadraศ›i parametrii รฎn paranteze plasate imediat dupฤƒ adnotare, aศ™a cum se aratฤƒ mai jos.

TestNG adnotare cu sintaxa de parametri ศ™i valori

TestNG executฤƒ adnotฤƒri @Test de la cea mai micฤƒ valoare de prioritate la cea mai mare. Numerele de prioritate nu trebuie sฤƒ fie consecutive.

Cod complet cu parametrii de prioritate @Test

Raportul HTML confirmฤƒ cฤƒ metodele au fost executate รฎn ordine crescฤƒtoare a prioritฤƒศ›ii.

TestNG raport care prezintฤƒ metodele executate รฎn ordine de prioritate crescฤƒtoare

Parametri multipli

รŽn afarฤƒ de priority, @Test acceptฤƒ alwaysRun parametru (adevฤƒrat sau fals). Pentru a utiliza doi sau mai mulศ›i parametri รฎntr-o singurฤƒ adnotare, separaศ›i-i prin virgulฤƒ:

@Test(priority = 0, alwaysRun = true)

Exemplu de parametri multipli รฎn interiorul unei adnotฤƒri @Test

@BeforeTest ศ™i @AfterTest

@BeforeTest Metode sub aceastฤƒ rulare de adnotare รฎnainte de primul caz de testare din TestNG fiลŸier.
@AfterTest Metode sub aceastฤƒ rulare de adnotare dupฤƒ toate cazurile de testare รฎn TestNG finalizare fiศ™ier.

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

package firsttestngpackage;

import org.openqa.selenium.WebDriver;
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/";
    public WebDriver driver;

    @BeforeTest
    public void launchBrowser() {
        System.out.println("launching firefox browser");
        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.quit();
    }
}

Din tabel ศ™i cod, putem prezice cฤƒ secvenศ›a va fi:

  • 1 โ€” launchBrowser()
  • al doilea โ€” verifyHomepageTitle()
  • al 3-lea โ€” terminateBrowser()

Plasarea blocurilor de adnotฤƒri รฎn fiศ™ierul sursฤƒ nu afecteazฤƒ ordinea lor de execuศ›ie. รŽncercaศ›i sฤƒ reorganizaศ›i metodele aศ™a cum se aratฤƒ mai jos.

package firsttestngpackage;

import org.openqa.selenium.WebDriver;
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/";
    public WebDriver driver;

    @AfterTest                              // Jumbled
    public void terminateBrowser() {
        driver.quit();
    }

    @BeforeTest                             // Jumbled
    public void launchBrowser() {
        System.out.println("launching firefox browser");
        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 ศ™i verificaศ›i rezultatul.

TestNG rezultat care confirmฤƒ ordinea รฎn ciuda adnotฤƒrilor amestecate

@BeforeMethod ศ™i @AfterMethod

@BeforeMethod Metode sub aceastฤƒ rulare de adnotare รฎnaintea fiecฤƒrei metode de testare.
@AfterMethod Metode sub aceastฤƒ rulare de adnotare dupฤƒ fiecare metodฤƒ de testare.

In Mercury Tururi, sฤƒ presupunem cฤƒ vrem sฤƒ verificฤƒm titlurile a douฤƒ pagini ศ›intฤƒ la care se ajunge de pe pagina principalฤƒ.

Trei linkuri de la Mercury Pagina principalฤƒ a excursiilor

Fluxul testului este:

  • Deschideศ›i pagina principalฤƒ ศ™i verificaศ›i titlul acesteia.
  • Faceศ›i clic pe รŽNREGISTRARE ศ™i verificaศ›i titlul paginii ศ›intฤƒ.
  • Reveniศ›i la pagina principalฤƒ ศ™i verificaศ›i titlul.
  • Faceศ›i clic pe ASISTENศšฤ‚ ศ™i verificaศ›i titlul paginii ศ›intฤƒ.
  • Reveniศ›i la pagina principalฤƒ ศ™i verificaศ›i din nou titlul.

Codul de mai jos aratฤƒ cum @BeforeMethod ศ™i @AfterMethod gestioneazฤƒ paศ™ii repetaศ›i.

package firsttestngpackage;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
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/";
    public WebDriver driver;
    public String expected = null;
    public String actual = null;

    @BeforeTest
    public void launchBrowser() {
        System.out.println("launching firefox browser");
        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.quit();
    }
}

Dupฤƒ rularea testului, TestNG raporteazฤƒ secvenศ›a de mai jos.

TestNG raporteazฤƒ secvenศ›a folosind BeforeMethod ศ™i AfterMethod

Pe scurt: plasaศ›i paศ™ii de configurare รฎn interior @BeforeMethod ศ™i curฤƒศ›are sau resetare a navigaศ›iei รฎn interior @AfterMethod deci fiecare caz de testare รฎncepe ศ™i se terminฤƒ รฎntr-o stare cunoscutฤƒ.

Rezumatul TestNG Adnotฤƒri

  • @BeforeSuite: se executฤƒ รฎnaintea tuturor testelor din suitฤƒ.
  • @AfterSuite: ruleazฤƒ dupฤƒ toate testele din suitฤƒ.
  • @รŽnainteDeTest: ruleazฤƒ รฎnaintea oricฤƒrei metode de testare aparศ›inรขnd claselor din interiorul unui etichetฤƒ.
  • @DupฤƒTest: ruleazฤƒ dupฤƒ toate metodele de testare aparศ›inรขnd claselor din interiorul unui etichetฤƒ.
  • @รŽnainteDeGrupuri: se executฤƒ cu puศ›in timp รฎnainte de prima metodฤƒ de testare care aparศ›ine oricฤƒrui grup listat.
  • @AfterGroups: se executฤƒ la scurt timp dupฤƒ ultima metodฤƒ de testare care aparศ›ine oricฤƒrui grup listat.
  • @รŽnaintedeClasฤƒ: se executฤƒ รฎnaintea primei metode de testare din clasa curentฤƒ.
  • @DupฤƒClasฤƒ: ruleazฤƒ dupฤƒ toate metodele de testare din clasa curentฤƒ.
  • @รŽnainteDeMetodฤƒ: se executฤƒ รฎnaintea fiecฤƒrei metode de testare.
  • @AfterMethod: se executฤƒ dupฤƒ fiecare metodฤƒ de testare.
  • @Test: marcheazฤƒ metoda ca un caz de testare.

รŽntrebฤƒri frecvente

JUnit 5 modernizate JUnit cu API-ul Jupiter ศ™i modelul de extensie. TestNG รฎncฤƒ conduce la execuศ›ia paralelฤƒ, grup la nivel de suitฤƒping, dependsOn ศ™i DataProvider. Multe Selenium alegerile echipelor TestNG pentru suite complete ศ™i JUnit 5 pentru teste unitare.

Adฤƒugaศ›i parallel="methods" sau parallel="classs" plus un atribut thread-count pe etichetฤƒ รฎn interiorul fiศ™ierului testng.xml. TestNG apoi distribuie metode de testare pe fire de execuศ›ie, ideal pentru Selenium Rulฤƒri cross-browser รฎn grilฤƒ sau รฎn cloud.

@DataProvider alimenteazฤƒ mai multe seturi de date รฎntr-o singurฤƒ metodฤƒ @Test. Fiecare rรขnd din furnizor reprezintฤƒ o singurฤƒ execuศ›ie. Este modelul standard pentru metodele bazate pe date. Selenium teste pe formulare, casete de cฤƒutare sau ecrane de conectare.

Da. AI asistenศ›ii de codare genereazฤƒ TestNG schelete, adnota metode @Test, construi clase Page Object ศ™i schiศ›eazฤƒ tablouri DataProvider din fiศ™iere CSV eศ™antion, reducรขnd drastic timpul de schelฤƒ.

Inteligenศ›a artificialฤƒ generativฤƒ preia jurnalele testng-results.xml ศ™i Surefire, grupeazฤƒ erori similare, sugereazฤƒ cauzele principale probabile ศ™i elaboreazฤƒ tichete Jira. Acest lucru scurteazฤƒ timpul de triere a testelor instabile ศ™i ajutฤƒ responsabilii de asigurare a calitฤƒศ›ii sฤƒ prioritizeze remedierile pentru รฎmbunฤƒtฤƒศ›irea continuฤƒ.

Rezumaศ›i aceastฤƒ postare cu: