Cum se generează rapoarte de extindere în Selenium
Publicat: 2021-06-21Biblioteca open-source folosită pentru automatizarea testelor în seleniu este ExtentReports. Cadre de testare; NUnit, JUnit, etc pot fi integrate cu biblioteca. Rapoartele încorporate sunt create în seleniu prin cadrul TestNG și JUnit, dar rapoartele Extent sunt încă prima alegere a testerilor de automatizare a seleniului. Rapoartele de măsură în seleniu oferă mai multe informații despre execuția scripturilor de automatizare. Rezultatele sunt prezentate ca diagrame circulare și sunt practic documente HTML. Sunt detalii precum instantaneele și jurnalele personalizate pot fi generate prin bibliotecă.
După executarea cu succes a unui test automat, un raport de execuție a testului trebuie să fie generat de testeri. Un raport implicit este furnizat de TestNG, dar detaliile nu sunt furnizate. Cu aplicabilitatea API-ului ExtentReport, rapoartele interactive ar putea fi generate prin configurații simple. Cadrele Java și .Net, cum ar fi JUnit, NUnit și TestNG, etc. sunt acceptate de bibliotecă.
Dependența raportului de măsurare maven
Sursă
Rapoartele privind gradul de seleniu constau din două clase:
Cuprins
1. Clasa ExtentReports
Testerul specifică o cale și pe baza căii specificate, rapoartele HTML sunt generate din clasa ExtentReports. Fie există generarea unui nou raport, fie suprascrierea unui raport existent. Se decide pe baza valorii booleene. Valoarea booleană implicită este „adevărată”, ceea ce înseamnă că va fi suprascrierea tuturor datelor care au existat în trecut.
2. Clasa ExtentTest
Pașii de testare sunt înregistrați prin clasa ExtentTest în rapoartele HTML generate prin metoda de mai sus.
3. Extent HtmlReporter
Un fișier HTML este creat de această clasă.
Funcțiile încorporate enumerate pot fi utilizate cu clasele care sunt enumerate mai jos.
- startTest: Condițiile preliminare ale unui caz din test sunt executate
- endTest: sunt executate postcondițiile unui caz din test.
- Metoda jurnalului: starea fiecărui pas din test este înregistrată în raportul HTML generat prin jurnal.
- Flush: Un nou raport este creat eliminând datele dintr-un raport anterior.
Următoarele valori sunt utilizate pentru a indica starea unui test: PASS, SKIP, FAIL și INFO.
Cum se creează rapoarte de extindere
Câteva condiții prealabile pentru generarea unui raport de extindere sunt:
- Preinstalare și configurare Java.
- Instalarea TestNG.
- Descărcarea borcanelor pentru raportul de extindere (versiunea 2.41.2).
- Cerința extent-config.xml care permite configurarea raportului HTML.
Pașii de bază care trebuie urmați pentru generarea rapoartelor de extindere sunt:
- Urmează să fie creat un proiect de testare.
- Întinderea fișierului jar de raport urmează să fie descărcată.
- Fișierul jar cu raportul de măsură este adăugat în proiect.
- Se creează o clasă implementată.
Pași pentru generarea unui raport de extindere
- Rapoartele de măsurare pot fi generate în WebDriver of selenium prin importul unui fișier jar care este extentreports-java-2.41.2.jar. Conținutul fișierului jar va fi extras într-un director odată ce este descărcat.
- Fișierele Jar extrase din fișierul ZIP descărcat vor fi adăugate la proiectul de construire. Se folosește opțiunea Build Path -> Configure Build Path.
- O clasă Java este nou creată pentru măsura raportată prin următorul cod.
Sursă
Explicația codului
Cu metoda startTest, începe execuția testului. Obiectul rapoartelor de extindere este inițializat. Obiectul raport de extindere folosește orice cale definită de utilizator ca parametru transmis acestuia.
@beforeclass: Utilizarea rapoartelor de extindere este demonstrată de cod.
@test: Următoarele acțiuni sunt automatizate prin această clasă:
- Deschiderea browserului Chrome prin adresa URL www.google.com .
- Titlul paginii trebuie validat cu valoarea așteptată odată ce este deschis.
- Starea cazului testului trebuie înregistrată ca PASS sau FAIL utilizând metoda jurnalului rapoartelor de amploare.
@afterclass: Codul pentru executarea unui caz de postcondiții de testare este inclus în această clasă. Include codul pentru încheierea testului sau spălarea raportului. Fără utilizarea metodei flush(), rapoartele de măsură în seleniu nu vor fi generate.
Capturați capturi de ecran în Rapoartele de extindere
1. Prin metoda capturii
- Există mai multe beneficii în utilizarea unei capturi de ecran în timpul testului.
- Dacă software-ul începe să acționeze eronat, atunci testerii ar putea identifica problema observând capturile de ecran.
- Prin urmare, dacă execuția testului întâmpină probleme, capturile de ecran vor permite testerilor să depaneze scriptul de testare.
- Capturile de ecran ar trebui să fie capturate numai în timpul eșecului unui test, deoarece capturile consumă mai multă memorie.
- Următorul cod folosit pentru capturarea unei capturi de ecran este preluat din
Sursă
2. Explicația codului
- Actualul selenium WebDriver este capturat ca o captură de ecran prin metoda getScreenShotAs(). Apoi este stocat în diferite forme de ieșire.
Fișier scrFile = (driver ((TakesScreenshot))).getScreenshotAs(OutputType.File);
- Un obiect al fișierului este returnat prin metoda getScreenShotAs și stocat într-o variabilă a fișierului. Pentru utilizarea acestei metode, este obligatoriu să aruncați instanța driverului web pentru a face o captură de ecran.
Dest fișier = fișier nou(„scr/../Errimages/” + System.currentTimeMillis()+ „.png”);
- Un folder cu numele „ErrImages” este creat în folderul „src” prin codul de mai sus. Fișierul este salvat în folderul creat cu numele fișierului ca ora sistemului curent.
String errflpath = Dest,getAbsolutePath();
Fileutils.copyFile(scrFile, Dest);
returnerrflpath;
- Imaginile de eroare generate sunt copiate într-un folder de destinație.
3. Metoda jurnalului
- În metoda jurnalului este utilizată o metodă încorporată. AddScreenCapture al clasei Extent este utilizat pentru a captura o captură de ecran și apoi atașat la rapoartele de extindere generate.
test.log(LogStatus.Fail,test.addScreenCapture(capture(driver))+ „Test Failed”);
Avantajele rapoartelor de extindere
- Utilizarea rapoartelor de măsură este ușoară.
- Diagramele circulare sunt folosite pentru afișarea rezultatelor.
- Este furnizat procentul unui caz trecut al unui test.
- Capacitatea de a adăuga detaliile mediului într-un mod natural.
- În comparație cu celelalte rapoarte, raportul de măsurare oferă posibilitatea de personalizare.
- Mai multe rapoarte interactive pot fi generate prin extent API. Rapoartele interactive pot fi sub formă de vizualizare grafică, captură de ecran în timpul fiecărei etape de testare, vizualizare tablou de bord și rapoarte care ar putea fi trimise prin e-mail.
- Integrarea cu cadrele JUnit, TestNG și NUnit este posibilă.
- Execuția în paralel a execuțiilor de testare este posibilă cu generarea unui singur raport pentru toate execuțiile paralele.
- Raportul poate fi configurat.
- Pentru execuția fiecărui caz de testare, este afișat timpul necesar.
- Este posibilă urmărirea ușoară a rulărilor mai multor cazuri de testare într-o singură suită.
- Pe baza rapoartelor testului, rezultatele pot fi filtrate. De asemenea, rezultatele treptat pot fi filtrate prin opțiunile de trecere/eșec/informare.
- Categorizările rapoartelor sunt furnizate pentru categorii precum Regresie/funcțională etc.
- Jurnalele pașilor de testare pot fi adăugate la rapoarte.
Exemplu de rapoarte de extindere în seleniu
Este prezentat un exemplu pentru a vă permite să înțelegeți procesul de generare a raportului de măsurare.
Pasul 1 : Un proiect Maven și o clasă urmează să fie create BasicExtentReport.java cu adăugarea unui cod disponibil aici
- Un fișier HTML independent este generat din clasa „ExtentHtmlReporter”.
- „ExtentHtmlReporter(java.io.File)” este acceptat de această clasă și calea „ExtentHtmlReporter(java.lang.String filePath)”.
- Calea fișierului este transmisă pentru a salva rapoartele.
- Metoda config() a clasei „ExtentHtmlReporter” permite diverse opțiuni de configurare. Elementele pot fi modificate prin cod pentru a face modificări în aspectul raportului de extindere, inclusiv marca temporală, numele raportului etc.
- Starea pentru fiecare pas al testului este raportată de „AfterMethod” și, prin urmare, starea testului este actualizată, cum ar fi Pass, Fail, skip etc. în apariția oricărei erori, este generat un mesaj pentru a oferi informațiile. Se realizează prin „result.getThrowable()”.
- Etichetele stării sunt create folosind clasa MarkupHelper, care colorează și starea raportului.
Pasul 2: Trecerea sistemului de operare și a parametrilor browserului se face prin crearea unui fișier testng.xml. Codul este disponibil pe site-ul menționat.
Pasul 3: Un alt cod este adăugat la fișierul pom.cml.
Pasul 4: Rularea programului generează raportul rezultat .
Sursă
Pentru vizualizarea rapoartelor de eșec, trebuie să faceți clic pe testele eșuate. Aceasta va afișa starea testului împreună cu motivul eșecului testului.
Câteva lucruri suplimentare legate de rapoartele de măsurare sunt:
- De dragul aspectului, tema existentă într-un raport poate fi schimbată.
- În funcție de confortul utilizatorului, vizualizarea tabloului de bord poate fi ascunsă sau afișată.
- În cazul rulării mai multor teste, un caz de testare poate fi căutat pas cu pas.
- Timpul total necesar pentru rularea testului, inclusiv ora de începere și ora de încheiere, este afișat utilizatorului.
- Filtre suplimentare sunt prezente într-un raport. Rezultatele pot fi filtrate în funcție de starea testelor, cum ar fi testele trecute, teste eșuate sau cazuri de testare în care sunt prezente doar informații.
Învață cursuri de software online de la cele mai bune universități din lume. Câștigă programe Executive PG, programe avansate de certificat sau programe de master pentru a-ți accelera cariera.
Concluzie
Pentru generarea oricăror rapoarte personalizabile, rapoartele de măsurare sunt cea mai bună modalitate. Fiind o bibliotecă open-source cu o configurație ușoară cu seleniu, rapoartele de măsurare au devenit cu siguranță cea mai bună alegere pentru toți testerii de automatizare. Articolul a discutat pe scurt rapoartele de amploare, modul de generare a acestora și utilitatea lor. Beneficiile pot fi culese prin cunoașterea programării software care stă la baza generării rapoartelor de măsură.
Dacă sunteți dispus să învățați și să explorați beneficiile programării software, consultați cursul Executive PG Program in Software Development – Specialization in Full Stack Development , oferit de upGrad . Acesta este un curs special conceput pentru profesioniștii la nivel de intrare din grupa de vârstă de 21 până la 45 de ani. Oferind o platformă pentru prelegeri online și sesiuni interactive cu experiențe practice, cursul oferă asigurare de plasare în industriile de top. Echipa noastră este disponibilă pentru orice întrebări.
Ce este un generator de rapoarte Selenium?
Selenium Report Builder sau Selenium IDE este un plugin Firefox pentru Selenium care ajută la crearea și editarea cazurilor de testare Selenium. Face ca procesul de automatizare să fie mai eficient și reduce efortul necesar pentru a crea diferite rapoarte. Este o modalitate confortabilă de a rula teste și oferă o imagine de ansamblu asupra stării curente. Rapoartele sunt generate în diferite formate, cum ar fi text, PDF, CSV, HTML etc.
Ce poate fi testat automat folosind seleniu?
Selenium este un instrument pentru automatizarea aplicațiilor web în scopuri de testare și poate fi folosit pentru testarea regresiei. Selenium poate automatiza orice poate face un utilizator într-un browser. Majoritatea site-urilor web au un fel de funcționalitate care facilitează îndeplinirea sarcinilor angajaților lor precum comandarea inventarului, procesarea comenzilor, actualizarea site-ului web etc. Selenium poate fi folosit pentru a testa aplicații și site-uri web bazate pe web. Este un limbaj de nivel înalt care acceptă diverse limbaje de programare precum JAVA și C#. Selenium este folosit pentru a automatiza browserul și oferă dezvoltatorilor de aplicații web capacitatea de a scrie teste automate care să fie rulate împotriva aplicațiilor web.
Ce este Selenium Grid?
Selenium Grid este un instrument care permite rularea de teste automate pe mai multe browsere (sau alte noduri de grilă). Permite executarea paralelă a acestor teste cu mai multe configurații (locații, browsere, sisteme de operare) și mai multe browsere simultan. Testele în sine pot fi rulate în modul headless, astfel încât să nu necesite nicio interfață grafică. Grid oferă execuție asincronă a joburilor și este capabilă să gestioneze sute de joburi simultan. Grila de seleniu este astfel un model hub și spițe pentru rularea cazurilor de testare. Grid permite utilizatorilor să combine mai multe browsere pentru a rula un singur caz de testare. Odată configurat, poate fi folosit pentru a rula teste pe mai multe mașini sau browsere, la cerere sau la un program. Selenium Grid poate fi folosit pentru a paraleliza execuția testului, a scala testarea și pentru a crește acoperirea testului.