Grupuri TestNG: Includeți, excludeți cu exemplu - Tutorial Selenium

Cuprins:

Anonim

TestNG este un cadru de testare care acoperă diferite tipuri de modele de testare, cum ar fi unitatea, funcțional, end to end, interfața de utilizare și testul de integrare.

Puteți rula un pachet unic sau mai multe (pachetul aici înseamnă să încapsulați un grup de clase într-un format de director adecvat) prin crearea XML și rularea acestuia prin maven.

În acest tutorial, veți învăța-

  • Grupuri TestNG cu exemplu
  • Setați calea maven și Java în variabila de mediu (pentru utilizatorul Windows)
  • Introducere în XML și cum se realizează un fișier XML
  • Un alt mecanism în loc de grupare este „exclude” sau „include” în testul XML
  • Cum se execută codul utilizând fișierul XML (demo video)

Grupuri TestNG cu exemplu

Folosim grupuri în Testng când,

  • Nu vrem să definim metodele de testare separat în diferite clase (în funcție de funcționalitate) și
  • În același timp, doriți să ignorați (să nu executați) unele cazuri de testare ca și cum acestea nu ar exista în cod.
  • Deci, pentru a realiza acest lucru, trebuie să le grupăm. Acest lucru se face folosind mecanismele „include” și „exclude” acceptate în testNG.

În exemplul de mai jos, am arătat sintaxa modului de utilizare a grupurilor în fișierul XML.

@Test (grupuri = {"bonding", "strong_ties"}) 

Aici folosim 2 nume de grup, adică „bonding” și „strong_ties” (acestea sunt nume logice care pot fi modificate după dorința dvs.).

Eticheta definește pornirea grupurilor în XML.

Personalizați-vă XML-ul pentru a alege grupul menționat din clasele de testare. Mai jos este menționată sintaxa modului de declarare a grupurilor în fișierul XML, de ex

Deci, să presupunem că există 10 metode de testare într-o clasă.

Din ele,

  • 6 metode sunt etichetate în grupul „bonding” și
  • 4 se află în grupul „strong_ties”

Mergând mai departe, vom seta calea maven / Java și vom folosi Eclipse IDE pentru a demonstra utilizarea grupurilor care utilizează fișiere XML în proiectul maven bazat pe Java.

Setați calea maven și Java în variabila de mediu (pentru utilizatorul Windows)

Vă rugăm să consultați https://www.guru99.com/maven-jenkins-with-selenium-complete-tutorial.html

https://www.guru99.com/install-java.html

Introducere în XML și cum se realizează un fișier XML

  • Fișierul XML (Extensible Markup Language) din cadrul Maven conține informații despre unul sau mai multe teste și este definit de eticheta .
  • Informațiile de testare în XML sunt reprezentate de eticheta și pot conține una sau mai multe clase TestNG.
  • O clasă Java care conține adnotarea @Test deasupra metodelor de testare este definită ca metode TestNG.

Mai multe etichete sunt utilizate într-o secvență pentru a construi un test de lucru NG xml cum ar fi , și

  • Mai întâi este eticheta , care deține un nume logic care definește informațiile complete pentru testNG raportate pentru a genera raportul de execuție.
  • Al doilea este , rețineți că este un nume logic care deține informațiile despre raportul de execuție a testului, cum ar fi trecerea, eșuarea, omiterea cazurilor de testare și alte informații, cum ar fi timpul total pentru execuție și informații despre grup
  • Al treilea este , com.group.guru99 este pachetul utilizat, iar numele clasei de test este TC_Class1.

Vom folosi acest XML pentru viitoarele dezavantaje video.

Un alt mecanism în loc de grupare este „exclude” sau „include” în testul XML

Să presupunem că găsiți utilizarea mecanismului de grup complex, apoi testNG XML facilitează funcționalitatea de a exclude / include un test.

Exclude Tag : Sintaxă pentru eticheta de excludere  Include Tag : Sintaxă pentru include tag 

Notă: putem include / exclude mai multe cazuri de testare odată și funcționează și cu Grupuri.

Cum se execută codul utilizând fișierul XML (demo video)

Explicație a codului Java și XML cu grupul, excludeți și includeți eticheta în XML.

  • Scenariu : Lansați site-ul bancar demo Guru99, verificați câteva lucruri pe pagina de autentificare după aceea, introduceți acreditările și verificați din nou câteva lucruri noi în aplicație când sunteți conectat.

Notă : Fiecare pas pe care îl codificați trebuie să fie declarat în metode separate, dar atunci când este executat, acesta va executa metode de testare în funcție de intrările din fișierul XML.

Metoda 1 : inițializați browserul și lansați adresa URL (tc01LaunchURL ())

Metoda 2 : Verificați titlul paginii de conectare (tc02VerifyLaunchPage ())

Metoda 3 : Introduceți numele de utilizator și parola în formularul de conectare (tc03EnterCredentials ())

Metoda 4 : Verificați prezența ID-ului managerului pe tabloul de bord al utilizatorului (tc04VerifyLoggedInPage ())

Metoda 5 : verificați încă câteva linkuri pe User DashBoard (tc05VerifyHyperlinks ())

Cod pentru scenariul nostru:

pachet com.group.guru99;import java.util.concurrent.TimeUnit;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;import org.testng.Assert;import org.testng.annotations.Test;clasa publica TC_Class1 {public static final WebDriver webDriver = new FirefoxDriver () ;;String launchPageHeading = "// h3 [text () = 'Guru99 Bank']";final String userName_element = "// input [@ name = 'uid']", password_element = "// input [@ name = 'password']",signIn_element = "// input [@ name = 'btnLogin']";final String userName_value = "mngr28642", password_value = "ydAnate";ID-ul final al șirului ID = "// td [conține (text (),„ ID-ul managerului ”)]”;final String newCustomer = "//a[@href='addcustomerpage.php ']", fundTransfer = "//a[@href='FundTransInput.php']";/ *** Acest caz de testare va inițializa webDriver* /@Test (grupuri = {"bonding", "strong_ties"})public void tc01LaunchURL () {webDriver.manage (). window (). maximize ();webDriver.manage (). timeouts (). implicit Așteptați (20, TimeUnit.SECONDS);webDriver.get („http://www.demo.guru99.com/V4/”);}/ *** Se va verifica prezența Heading pe pagina de autentificare* /@Test (grupuri = {"bonding"})public void tc02VerifyLaunchPage () {Assert.assertTrue (webDriver.findElement (By.xpath (launchPageHeading)). IsDisplayed (),„Antetul paginii de pornire nu este afișat”);System.out.println („Se afișează titlul paginii de pornire”);}/ *** Acest caz de testare va introduce numele de utilizator, parola și apoi faceți clic pe* butonul de conectare* /@Test (grupuri = {"bonding", "strong_ties"})public void tc03EnterCredentials () {webDriver.findElement (By.xpath (userName_element)). sendKeys (userName_value);webDriver.findElement (By.xpath (password_element)). sendKeys (password_value);webDriver.findElement (By.xpath (signIn_element)). click ();}/ *** Acest caz de testare va verifica prezența ID-ului ieslei pe DashBoard* /@Test (grupuri = {"strong_ties"})public void tc04VerifyLoggedInPage () {Assert.assertTrue (webDriver.findElement (By.xpath (managerID)). IsDisplayed (),„Eticheta ID manager nu este afișată”);System.out.println („Este afișată eticheta ID Manger”);}/ *** Acest caz de testare va verifica prezența prezenței unui link pentru clienți noi* Și linkul Transfer Transfer în panoul din stânga* /@Test (grupuri = {"bonding"})public void tc05VerifyHyperlinks () {Assert.assertTrue (webDriver.findElement (By.xpath (newCustomer)). IsEnabled (),„Nu se afișează hyperlinkul pentru clienți noi”);System.out.println („Este afișat un hyperlink pentru clienți noi”);Assert.assertTrue (webDriver.findElement (By.xpath (fundTransfer)). IsEnabled (),„Hyperlinkul Transfer de fonduri nu este afișat”);System.out.println („Este afișat hyperlinkul Transfer de fonduri”);}}

Vă rugăm să rețineți: acreditările sunt valabile numai timp de 20 de zile, deci dacă încercați să rulați codul pe computerul dvs. local, este posibil să vă confruntați cu o eroare de acreditare nevalidă. Vă rugăm să găsiți pașii de mai jos pentru a vă genera datele de conectare:

  1. Lansați http://www.demo.guru99.com
  2. Introduceți ID-ul de e-mail în casetă.
  3. Faceți clic pe Enter și vedeți detaliile de conectare pe ecran.

Explicația Codului:

După cum sa menționat mai sus, am creat 5 cazuri de testare pentru efectuarea fiecărei acțiuni în metode independente.

Puteți observa că fiecărei metode am asociat un parametru de grup care deține o anumită valoare în ea.

Practic, acestea sunt numele grupurilor de diferențiere, adică „puternice_tâțe” și „legături”.

  • Prima și a treia metodă sunt etichetate cu „bonding”, „strong_ties”, ceea ce înseamnă că dacă XML este actualizat în oricare dintre grupuri, acest caz de test va rula.
  • A doua metodă este etichetată doar la grupul „bonding” înseamnă că dacă XML este actualizat cu grupul de bonding. Numai în acest caz, acest caz de test va rula.
  • Al patrulea caz de testare este marcat cu grupul strong_ties, ceea ce înseamnă că acest caz de testare va rula numai dacă XML este actualizat cu numele grupului strong_ties.
  • Ultimul dar nu cel mai puțin al cincilea caz de testare este atașat la grupul de legătură, ceea ce înseamnă că acest caz de testare va rula numai dacă XML este actualizat cu numele grupului de legare.

Deci, în general, avem 4 scenarii;

  1. Vrem să rulăm toate cazurile de testare, indiferent de numele grupului. În acest caz, vom elimina eticheta de grup din rularea XML.
  1. Vrem să testăm câteva teste de caz care sunt legate doar de oricare dintre grupuri, adică puternice_tate sau legături
  • Vă rugăm să consultați:

  • În acest videoclip, parametrul Grup este comentat de la rularea XML. Prin urmare, veți vedea că toate cazurile de testare au fost executate.
  • În continuare la videoclip, acum am inclus numele grupului în XML, puteți vedea doar cazurile de test specifice grupului respectiv care rulează numai.
  1. Folosim mecanismul Exclude pentru a exclude cazul testului:
  • Vă rugăm să consultați

  • Vedeți că am folosit excluderea câtorva cazuri de testare (tc02), scriind numele lor în rularea XML. În rezultatul final, cazurile de test menționate nu au funcționat.
  1. În cele din urmă, folosim mecanismul de testare include pentru a include cazurile de testare (tc01LaunchURL, tc03EnterCredentials și tc05VerifyHyperlinks)
    • Vă rugăm să consultați

    • În acest videoclip, veți vedea că cazurile de test menționate în XML rulează numai în timpul executării testului.

    Vă rugăm să descărcați codul de la adresa URL menționată, acesta va conține toate tipurile de testXML:

    Descărcați codul de mai sus

    Concluzie

    Am învățat aici relativ un mod nou de a rula cazuri de testare folosind XML în proiectul Maven.

    Am început oferind o scurtă introducere despre testNG și am continuat cu specificațiile tehnice complete ale grupurilor, excludem și includem.