spre deosebire de vechiul & cadru de testare JUnit de încredere, TestNG este instrumentul modern de automatizare a testelor. Are suport încorporat pentru testarea bazată pe date și oferă două modalități de a furniza date cazurilor de testare, adică prin parametrii TestNG și adnotările DataProvider.
cu adăugarea acestor două adnotări, cadrul TestNG a umplut un decalaj semnificativ pe care îl avea predecesorul său. Una dintre aceste adnotări adaugă capacitatea de a utiliza valori de date fixe în cazurile de testare, în timp ce cealaltă permite interogarea valorilor din orice surse de date externe, cum ar fi Excel sau fișierele de proprietăți.
în secțiunile următoare, veți vedea utilizarea live atât a parametrilor TestNG, cât și a adnotărilor DataProvider cu exemple gata de rulare.
- parametrii Learn – TestNG și adnotările DataProvider
- beneficiile testării parametrice
- @parametrii adnotare
- Example – @Parameters Adnotation
- Step-1
- Pasul 2
- @adnotare opțională
- Example – @adnotare opțională
- TestNG XML
- ieșire:
- @DataProvider adnotare
- fapte despre adnotarea @DataProvider
- cum se utilizează adnotarea @DataProvider
- exemplu folosind @DataProvider adnotare
- TestNG fișier XML
- ieșire:
- cuvânt Final – parametrii TestNG și DataProvider
parametrii Learn – TestNG și adnotările DataProvider
beneficiile testării parametrice
înainte de a continua, să înțelegem beneficiul testării bazate pe date/parametrice. Orice instrument de automatizare a testelor care are ambele capacități poate avea grijă eficient de următoarele cazuri.
- procesați setul mare de date conform cerințelor de afaceri.
- rulați același test din nou și din nou cu valori diferite.
să vedem acum când și cum putem folosi<@parametri> adnotare în proiecte TestNG.
@parametrii adnotare
cu ajutorul acestei adnotări, puteți permite valori unice, precum și mai multe parametri la metodele de testare.
îl putem folosi pentru testarea parametrilor. Este recomandabil atunci când datele sunt mici și fixate pentru cazurile de testare.
Example – @Parameters Adnotation
urmați pașii de mai jos pentru a utiliza<@Parameters> adnotare.
Step-1
creați o nouă clasă Java și denumiți-o ca<ParametersTesting.Java >. Adăugați următoarele două metode în clasă.
i – OpenBrowser ()
- va lua un singur parametru de tip șir, adică, browserName.
- adăugați adnotarea @ Parameters („BrowserName”) la această metodă.
ii – Filloginform ()
Pasul 2
Mai jos este TestNG.Fișier XML cu parametrii asociați cu metodele de testare.
acum este timpul pentru a executa< TestNG.XML > fișier. Faceți clic dreapta pe fișierul XML din Eclipse IDE și apăsați opțiunea „Run As >> TestNG Suite”. După execuție, ieșirea va fi afișată ca cea dată în captura de ecran de mai jos.
Un alt fapt interesant despre TestNG este că permite trecerea parametrilor opționali folosind adnotarea @opțională.
@adnotare opțională
o puteți utiliza pentru a specifica o valoare opțională pentru un parametru care nu este disponibil în TestNG.Fișier XML.
Example – @adnotare opțională
consultați exemplul de adnotare @opțional de mai jos.
TestNG XML
aici este „TestNG.XML ” asociat cu exemplul de mai sus.
puteți verifica din cele de mai sus< testng.xml > fișier care are două metode de testare definite în ea. Primul test nu are nici un parametru în timp ce al doilea specifică un parametru numit „opțional-valoare.”
ieșire:
după rularea<testng.xml > ca o suită de testare, ieșirea ar fi după cum urmează.
dacă observați rezultatele testului, TestNG a utilizat valoarea opțională în timpul executării primei metode de testare. S-a întâmplat deoarece TestNG nu a putut găsi un parametru numit „valoare opțională” în fișierul XML pentru primul test. Cu toate acestea, pentru al doilea test, a rezolvat valoarea parametrului care se imprimă și în timpul executării testului.
pentru nota dvs., puteți utiliza adnotarea parametrilor cu oricare dintre metodele adnotate înainte / după, fabrică și Test. În plus, îl puteți utiliza pentru a seta variabile și a le utiliza în clasă, test sau suită de testare.
@DataProvider adnotare
furnizorul de date este o altă adnotare care acceptă testarea bazată pe date. Îl puteți utiliza pentru a gestiona o gamă largă de parametri complexi, cum ar fi următorii.
- obiecte Java
- obiecte dintr-o bază de date
- date din Excel sau fișiere de proprietăți
fapte despre adnotarea @DataProvider
mai jos sunt câteva fapte interesante despre furnizorul de date.
- această adnotare are un atribut șir care este numele său. Dacă nu specificați un nume, atunci numele metodei servește drept nume implicit.
- o metodă furnizor de date pregătește și returnează o listă 2-d de obiecte.
- un test bazat pe date ar rula o dată pentru fiecare set de date specificate de obiectul furnizorului de date.
cum se utilizează adnotarea @DataProvider
acum să vedem pașii necesari pentru a utiliza adnotarea furnizorului de date pentru testarea bazată pe date.
- creați o nouă clasă Java, să zicem, DataProviderTest.Java.
- definiți metoda furnizorului de date adnotată folosind<@DataProvider>. Ar trebui să returneze lista 2-d de obiecte.
- adăugați o metodă de testare și decorați-o folosind<@Test(dataProvider = „numele furnizorului de date”)>.
Pentru mai multă claritate cu privire la adnotarea furnizorului de date, citiți cu atenție exemplul de cod de mai jos. În acest exemplu de cod, demonstrăm cele trei utilizări diferite ale furnizorilor de date.
- trecerea Java întreg obiect folosind furnizorul de date
- Streaming Java Bean obiect folosind furnizorul de date
exemplu folosind @DataProvider adnotare
TestNG fișier XML
puteți rula codul de mai sus de la Eclipse ca un Test TestNG. Sau puteți genera <TestNG.XML > și apoi executați fișierul XML ca o suită TestNG.
ieșire:
după ce executați codul de mai sus fie ca test, fie ca suită de testare, veți vedea următoarea ieșire. Vă rugăm să verificați din fragmentul de mai jos.
cuvânt Final – parametrii TestNG și DataProvider
am încercat să acoperim cât de mult am putut despre parametrii TestNG și adnotările DataProvider împreună cu exemplele lor. Deși, există multe alte cazuri de utilizare a furnizorului de date pe care le-am aborda într-o postare separată. Până atunci bucurați-vă de citirea acestui post și partajați-l pe social media.
toate cele bune,
TechBeamers