how use testng framework
În ultimele câteva tutoriale, am aruncat lumină asupra comenzilor WebDriver de bază și utilizate în mod obișnuit. De asemenea, am aflat despre strategiile de localizare a elementelor UI și includerea lor în scripturile de testare. Și, prin urmare, ne-am dezvoltat foarte mult primul script de testare automatizare WebDriver .
Continuând cu acest tutorial, am discuta totul despre TestNG, caracteristicile și aplicațiile sale.
TestNG este un cadru avansat conceput într-un mod de a valorifica beneficiile atât de dezvoltatori, cât și de testeri. Pentru persoanele care folosesc deja JUnit, TestNG nu ar părea diferit cu unele caracteristici avansate. Odată cu începerea cadrelor, JUnit a câștigat un enorm popularitate în aplicațiile Java, dezvoltatorii Java și testerele Java, cu creșterea remarcabilă a calității codului.
Vezi si=> JUnit Tutorial și utilizarea sa în scripturile Selenium
În ciuda faptului că este un cadru ușor de utilizat și simplu, JUnit are propriile limitări care dau naștere nevoii de a aduce TestNG în imagine. TestNG a fost creat de un programator aclamat numit „Cedric Beust”. TestNG este un cadru open source care este distribuit sub licența software Apache și este disponibil pentru descărcare.
Vorbind despre cerința noastră de a introduce TestNG cu WebDriver este că acesta oferă un format de rezultat al testului eficient și eficient, care poate fi, la rândul său, împărtășit cu părțile interesate pentru a avea o privire asupra stării de sănătate a produsului / aplicației, eliminând astfel dezavantajul incapacității WebDriver de a genera rapoarte de testare. TestNG are un mecanism de manipulare a excepțiilor încorporat care permite programului să ruleze fără a se termina neașteptat.
Atât TestNG, cât și JUnit aparțin aceleiași familii de Unități de cadre, unde TestNG este o versiune extinsă a JUnit și este utilizată mai mult în epoca actuală de testare.
Ce veți învăța:
- Caracteristicile TestNG
- Instalarea TestNG în Eclipse
- Crearea unui proiect TestNG
- Crearea clasei TestNG
- Executarea scriptului TestNG
- Rapoarte HTML
- Setarea priorității în TestNG
- Ghid de cod
- Adnotări TestNG
- Concluzie
- Lectură recomandată
Caracteristicile TestNG
- Suport pentru adnotări
- Suport pentru parametrizare
- Metodologie de execuție avansată care nu necesită crearea de suite de testare
- Suport pentru testarea bazată pe date folosind furnizorii de date
- Permite utilizatorului să stabilească prioritățile de execuție pentru metodele de testare
- Sprijină mediul sigur împotriva amenințărilor atunci când se execută mai multe fire
- Suportă cu ușurință integrarea cu diverse instrumente și pluginuri, cum ar fi instrumentele de construcție (Ant, Maven etc.), Mediul de dezvoltare integrat (Eclipse).
- Facilitează utilizatorul cu mijloace eficiente de generare a rapoartelor folosind ReportNG
Există diferite avantaje care fac TestNG superior JUnit. Unii dintre ei sunt:
- Adnotări avansate și ușoare
- Se pot seta modele de execuție
- Executarea simultană a scripturilor de testare
- Pot fi setate dependențe de caz de testare
Adnotările sunt precedate de un simbol „@” atât în TestNG, cât și în JUnit.
Așadar, acum să începem cu partea de instalare și implementare.
Grilă online pentru automatizarea testului de seleniu
# 1) LambdaTest
Cadrul TestNG este cel mai bine utilizat cu un cloud Selenium Grid, cum ar fi LambdaTest, care vă ajută să executați teste paralele pe peste 2000 de sisteme reale de navigare și sisteme de operare, fără nicio problemă de a menține o seleniu Grid intern.
Puteți obține o varietate de jurnale, cum ar fi jurnalele de comandă, jurnalele de rețea, jurnalele brute de seleniu, metadatele etc., împreună cu o înregistrare video completă a scriptului de testare a seleniului pentru depanare.
LambdaTest oferă, de asemenea, integrări cu mai multe instrumente CI / CD, cum ar fi Jenkins, Travis CI, CircleCI etc. pentru testare continuă. LambdaTest vă permite, de asemenea, să vă integrați cu numeroase instrumente de gestionare a proiectelor pentru înregistrarea ușoară a erorilor.
=> Vizitați site-ul web LambdaTestInstalarea TestNG în Eclipse
Urmați pașii de mai jos pentru TestNG Descărcare și instalare pe eclipsă:
Pasul 1: Lansați eclipse IDE -> Faceți clic pe opțiunea Ajutor din meniu -> Selectați opțiunea „Eclipse Marketplace ..” din meniul derulant.
Pasul 2: Introduceți cuvântul cheie „TestNG” în căsuța de căutare și faceți clic pe butonul „Go”, așa cum se arată mai jos.
Pasul 3: De îndată ce utilizatorul face clic pe butonul „Go”, vor fi afișate rezultatele care se potrivesc cu șirul de căutare. Acum utilizatorul poate face clic pe butonul Instalare pentru a instala TestNG.
Pasul 4: De îndată ce utilizatorul face clic pe butonul Instalare, utilizatorul este solicitat cu o fereastră pentru a confirma instalarea. Faceți clic pe butonul „Confirmare”.
Pasul 5: În pasul următor, aplicația vă va solicita să acceptați licența și apoi să faceți clic pe butonul „Finalizare”.
Pasul 6: Instalarea este inițiată acum și progresul poate fi văzut după cum urmează:
Ni se recomandă să ne repornim eclipsa, astfel încât să reflectăm schimbările făcute.
La repornire, un utilizator poate verifica instalarea TestNG navigând la „Preferințe” din opțiunea „Fereastră” din bara de meniu. Consultați următoarea figură pentru același lucru.
(Faceți clic pe imagine pentru a vedea mărit)
Crearea unui proiect TestNG
Să începem cu crearea proiectului TestNG în eclipsă IDE.
Pasul 1: Faceți clic pe opțiunea Fișier din meniu -> Faceți clic pe Nou -> Selectați proiectul Java.
Pasul 2: Introduceți numele proiectului ca „DemoTestNG” și faceți clic pe butonul „Următorul”. Ca pas final, faceți clic pe butonul „Finalizare” și proiectul dvs. Java este gata.
Pasul 3: Următorul pas este să configurați biblioteca TestNG în noul proiect Java creat. La fel, faceți clic pe fila „Biblioteci” sub Configurare cale de construire. Faceți clic pe „Adăugați bibliotecă” așa cum se arată mai jos.
Pasul 4: Utilizatorul va fi supus unei casete de dialog care îl promovează pentru a selecta biblioteca care urmează să fie configurată. Selectați TestNG și faceți clic pe butonul „Următorul” așa cum se arată mai jos în imagine. La final, faceți clic pe butonul „Finalizare”.
TestNG este acum adăugat la proiectul Java și bibliotecile necesare pot fi văzute în exploratorul de pachete la extinderea proiectului.
Adăugați toate bibliotecile și borcanele Selenium descărcate în calea de construire a proiectului, așa cum este ilustrat în tutorialul anterior.
Crearea clasei TestNG
Acum că am făcut toate setările de bază pentru a începe cu crearea scriptului de testare folosind TestNG. Să creăm un exemplu de script folosind TestNG.
Pasul 1: Extindeți proiectul „DemoTestNG” și treceți la folderul „src”. Faceți clic dreapta pe pachetul „src” și navigați la Nou -> Altele.
Pasul 2: Extindeți opțiunea TestNG și selectați opțiunea de clasă „TestNG” și faceți clic pe butonul „Următorul”.
Pasul 3: Furnizați detaliile necesare după cum urmează. Specificați folderul Sursă, numele pachetului și numele clasei TestNG și faceți clic pe butonul Finalizare. După cum reiese din imaginea de mai jos, utilizatorul poate verifica și diverse notații TestNG care ar fi reflectate în schema clasei de testare. Adnotările TestNG vor fi discutate mai târziu în această sesiune.
Clasa TestNG menționată mai sus va fi creată cu schema implicită.
Acum, că am creat baza de bază pentru scriptul de testare TestNG, să injectăm acum codul de testare real. Folosim același cod pe care l-am folosit în sesiunea anterioară.
Scenariu:
- Lansați browserul și deschideți „gmail.com”.
- Verificați titlul paginii și imprimați rezultatul verificării.
- Introduceți numele de utilizator și parola.
- Faceți clic pe butonul Conectare.
- Închideți browserul web.
Cod:
package TestNG; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; import org.testng.Assert; import org.testng.annotations.Test; public class DemoTestNG { public WebDriver driver = new FirefoxDriver(); String appUrl = 'https://accounts.google.com'; @Test public void gmailLogin() { // launch the firefox browser and open the application url driver.get('https://gmail.com'); // maximize the browser window driver.manage().window().maximize(); // declare and initialize the variable to store the expected title of the webpage. String expectedTitle = ' Sign in - Google Accounts '; // fetch the title of the web page and save it into a string variable String actualTitle = driver.getTitle(); Assert.assertEquals(expectedTitle,actualTitle); // enter a valid username in the email textbox WebElement username = driver.findElement(By.id('Email')); username.clear(); username.sendKeys('TestSelenium'); // enter a valid password in the password textbox WebElement password = driver.findElement(By.id('Passwd')); password.clear(); password.sendKeys('password123'); // click on the Sign in button WebElement SignInButton = driver.findElement(By.id('signIn')); SignInButton.click(); // close the web browser driver.close(); } }
Cod Explicație cu privire la TestNG
1) @Test - @Test este unul dintre Adnotări TestNG . Această adnotare permite executarea programului să știe că metoda adnotată ca @Test este o metodă de testare. Pentru a putea folosi diferite adnotări TestNG, trebuie să importăm pachetul „ import org.testng.annotations. * ”.
2) Nu este nevoie de metoda main () în timp ce creați scripturi de testare folosind TestNG. Executarea programului se face pe baza adnotărilor.
3) Într-o declarație, am folosit clasa Assert comparând valoarea așteptată și cea reală. Clasa Assert este utilizată pentru a efectua diferite verificări. Pentru a putea folosi diferite afirmații, trebuie să importăm „ import org.testng.Assert ”.
Executarea scriptului TestNG
Scriptul de testare TestNG poate fi executat în modul următor:
=> Faceți clic dreapta oriunde în cadrul clasei din editor sau în clasa java din pachetul de explorare, selectați opțiunea „Executare ca” și faceți clic pe „TestNG Test”.
Rezultatul TestNG este afișat în două ferestre:
- Fereastra consolei
- Fereastra de rezultate TestNG
Consultați ecranele de mai jos pentru ferestrele de rezultate:
Software-ul gratuit pentru eliminarea malware-ului cel mai bine cotat
(Faceți clic pe imagine pentru a vedea mărit)
Rapoarte HTML
TestNG vine cu o mare capacitate de a genera rapoarte HTML lizibile și ușor de înțeles de către utilizator pentru execuțiile testului. Aceste rapoarte pot fi vizualizate în oricare dintre browsere și pot fi vizualizate, de asemenea, utilizând construcția Eclipse - în suportul browserului.
Pentru a genera raportul HTML, urmați pașii de mai jos:
Pasul 1: Executați noua clasă TestNG. Reîmprospătați proiectul care conține clasa TestNG făcând clic dreapta pe acesta și selectând opțiunea „Reîmprospătare”.
Pasul 2: Un folder denumit „test-output” va fi generat în proiect la nivelul folderului „src”. Extindeți folderul „test-output” și deschideți fișierul „emailable-report.html” cu browserul Eclipse. Fișierul HTML afișează rezultatul execuției recente.
Pasul 3: Raportul HTML va fi deschis în mediul eclipsei. Consultați imaginea de mai jos pentru aceeași.
Reîmprospătați pagina pentru a vedea rezultatele pentru execuții noi, dacă există.
Setarea priorității în TestNG
Fragment de cod
package TestNG; import org.testng.annotations.*; public class SettingPriority { @Test(priority=0) public void method1() { } @Test(priority=1) public void method2() { } @Test(priority=2) public void method3() { } }
Ghid de cod
Dacă un script de testare este compus din mai multe metode de testare, prioritatea și secvența de execuție pot fi setate folosind adnotarea TestNG „@Test” și prin setarea unei valori pentru parametrul „prioritate”.
În fragmentul de cod de mai sus, toate metodele sunt adnotate cu ajutorul @Test și prioritățile sunt setate la 0, 1 și 2. Astfel ordinea de execuție în care ar fi executate metodele de testare este:
- Metoda1
- Metoda2
- Metoda 3
Suport pentru adnotări
Există o serie de adnotări furnizate în TestNG și JUnit. Diferența subtilă este că TestNG oferă mai multe adnotări anticipate către JUnit.
Adnotări TestNG
Urmează lista celor mai utile și favorabile adnotări din TestNG:
Adnotare | Descriere |
---|---|
@După clasa | Adnotarea notifică sistemului că metoda adnotată ca @AfterClass trebuie executată după executarea ultimei metode de testare din aceeași clasă de testare |
@Test | Adnotarea notifică sistemului că metoda adnotată ca @Test este o metodă de testare |
@BeforeSuite | Adnotarea notifică sistemului că metoda adnotată ca @BeforeSuite trebuie executată înainte de a executa testele în întreaga suită |
@AfterSuite | Adnotarea notifică sistemului că metoda adnotată ca @AfterSuite trebuie executată după executarea testelor în întreaga suită |
@BeforeTest | Adnotarea notifică sistemului că metoda adnotată ca @BeforeTest trebuie executată înainte de a executa orice metodă de testare din aceeași clasă de testare |
@AfterTest | Adnotarea notifică sistemului că metoda adnotată ca @AfterTest trebuie executată după executarea oricărei metode de testare din aceeași clasă de testare |
@Înainte de curs | Adnotarea notifică sistemului că metoda adnotată ca @BeforeClass trebuie executată înainte de a executa prima metodă de testare în aceeași clasă de testare |
@BeforeMethod | Adnotarea notifică sistemului că metoda adnotată ca @BeforeMethod trebuie executată înainte de a executa orice metodă de testare din aceeași clasă de testare |
@AfterMethod | Adnotarea notifică sistemului că metoda adnotată ca @AfterMethod trebuie executată după executarea oricărei metode de testare din aceeași clasă de testare |
@BeforeGroups | Adnotarea notifică sistemului că metoda adnotată ca @BeforeGroups este o metodă de configurare care înrolează un grup și care trebuie executată înainte de a executa prima metodă de testare a grupului |
@AfterGroups | Adnotarea notifică sistemului că metoda adnotată ca @AfterGroups este o metodă de configurare care înrolează un grup și care trebuie executată după executarea ultimei metode de testare a grupului |
Notă : Multe dintre adnotările menționate mai sus pot fi exercitate și în cadrul JUnit 3 și JUnit 4.
Concluzie
Prin acest tutorial, am încercat să vă facem cunoștință cu un cadru de testare bazat pe Java numit TestNG. Am început sesiunea cu instalarea cadrului și ne-am mutat cu crearea de scripturi și subiecte avansate. Am discutat toate adnotările furnizate de TestNG. Am implementat și executat primul nostru script de testare TestNG folosind adnotări și afirmații.
Rezumatul articolului:
- TestNG este un cadru avansat conceput într-un mod de a valorifica beneficiile atât de dezvoltatori, cât și de testeri.
- TestNG este un cadru open source care este distribuit sub licența software Apache și este disponibil pentru descărcare.
- TestNG este considerat a fi superior JUnit datorită caracteristicilor sale avansate.
- Caracteristicile TestNG
- Suport pentru adnotări
- Metodologie de execuție avansată care nu necesită crearea de suite de testare
- Suport pentru parametrizare
- Suport pentru testarea bazată pe date folosind furnizorii de date
- Stabilirea priorităților de execuție pentru metodele de testare
- Sprijină mediul sigur împotriva amenințărilor atunci când se execută mai multe fire
- Suportă cu ușurință integrarea cu diverse instrumente și pluginuri, cum ar fi instrumentele de construcție (Ant, Maven etc.), Mediul de dezvoltare integrat (Eclipse).
- Facilitează utilizatorul cu mijloace eficiente de generare a rapoartelor folosind ReportNG
- Avantajele TestNG față de JUnit
- Adăugări avansate și ușoare
- Se pot seta modele de execuție
- Executarea simultană a scripturilor de testare
- Pot fi setate dependențe de caz de testare
- TestNG este disponibil gratuit și poate fi instalat cu ușurință în IDE Eclipse folosind Eclipse Market.
- La instalare, TestNG va fi disponibil ca bibliotecă în mediul Eclipse.
- Creați un nou proiect Java și configurați calea de construire utilizând o bibliotecă TestNG.
- Creați o nouă clasă TestNG prin extinderea proiectului creat TestNG și treceți la folderul său „src”. Faceți clic dreapta pe pachetul „src” și navigați la Nou -> Altele. Selectați opțiunea de clasă TestNG.
- @Test este una dintre adnotările furnizate de TestNG. Această adnotare permite executarea programului să știe că metoda adnotată ca @Test este o metodă de testare. Pentru a putea folosi diferite adnotări TestNG, trebuie să importăm pachetul „ import org.testng.annotations. * ”.
- Nu este nevoie de metoda main () în timp ce creați scripturi de testare folosind TestNG.
- Folosim clasa Assert comparând valoarea așteptată și cea reală. Clasa Assert este utilizată pentru a efectua diferite verificări. Pentru a putea folosi diferite afirmații, trebuie să importăm „ import org.testng.Assert ”.
- Dacă un script de testare este compus din mai multe metode de testare, prioritatea și secvența de execuție pot fi setate folosind adnotarea TestNG „@Test” și prin setarea unei valori pentru parametrul „prioritate”.
- TestNG are capacitatea de a genera automat rapoarte de execuție a testelor lizibile de om. Aceste rapoarte pot fi vizualizate în oricare dintre browsere și pot fi vizualizate, de asemenea, utilizând suportul integrat al browserului Eclipse.
Următorul tutorial # 13 : Continuând cu viitoarele tutoriale din seria Selenium, ne vom concentra asupra manipulării diferitelor tipuri de elemente web disponibile pe paginile web. Prin urmare, în următorul tutorial, ne-am concentra atenția asupra „dropdown-urilor” și le vom exercita strategiile de manipulare. De asemenea, am discuta despre clasa Select a WebDriver și metodele sale de selectare a valorilor din meniurile derulante.
O remarcă pentru cititori : În timp ce următorul nostru tutorial din seria Selenium este în modul de procesare, cititorii pot începe să își creeze propriile scripturi de bază WebDriver folosind cadrul TestNG.
Pentru mai multe scripturi și concepte avansate, includeți cât mai multe adnotări și afirmații în clasele TestNG și executați-le utilizând mediul TestNG. De asemenea, analizați rapoartele HTML generate de TestNG.
Lectură recomandată
- Cum se folosește Firebug pentru crearea de scripturi Selenium - Tutorial Selenium # 4
- Introducere în JUnit Framework și utilizarea sa în Selenium Script - Selenium Tutorial # 11
- Aflați cum să utilizați adnotările TestNG în seleniu (cu exemple)
- Tutorial Castravete Seleniu: Integrare Castravete Java Seleniu WebDriver
- Cum să localizați elemente în browserele Chrome și IE pentru crearea de scripturi Selenium - Tutorial Selenium # 7
- Crearea cadrului Selenium și accesarea datelor de testare din Excel - Tutorial Selenium # 21
- Crearea de generice și teste - Tutorial Selenium # 22
- Tutoriale detaliate pentru eclipsă pentru începători