guide generate extent reports selenium webdriver
Cum se generează rapoarte de extindere în Selenium WebDriver:
Selenium furnizează rapoarte încorporate utilizând cadre precum JUnit și TestNG.
Deși rapoartele încorporate oferă informații cu privire la pașii care sunt executați ca parte a cazului de testare, au nevoie de mai multe personalizări pentru a fi partajate cu toate părțile interesate majore din proiect.
Extent Reports este un raport HTML personalizabil dezvoltat de Anshoo Arora care poate fi integrat în Selenium WebDriver folosind cadrele JUnit și TestNG.
Acest tutorial vă va oferi un ghid pas cu pas complet despre cum să generați rapoarte de extindere în Selenium WebDrive cu exemple de coduri.
Mai jos este instantaneul raportului încorporat furnizat de cadrul TestNG:
Rapoartele de extindere oferă mai multe avantaje în comparație cu rapoartele încorporate care sunt generate prin JUnit și TestNG, cum ar fi reprezentarea diagramei, testarea generării de rapoarte în trepte, adăugarea de capturi de ecran etc., la fiecare pas de testare și o interfață de utilizator prezentabilă care poate fi partajată cu toate părțile interesate ale proiectului.
Mai jos este instantaneul unui exemplu de raport de extindere în reprezentarea graficului circular
(Notă:Faceți clic pe orice imagine pentru o vizualizare mărită)
Ce veți învăța:
- Avantajele utilizării rapoartelor de extindere
- Utilizarea rapoartelor de extindere în Selenium Webdriver
- Exemplu de cod pentru rapoarte de extindere
- Raport rezumat test
- Raport grafic în diagramă
- Capturați captura de ecran în rapoarte extinse
- Concluzie
- Lectură recomandată
Avantajele utilizării rapoartelor de extindere
Există mai multe avantaje ale rapoartelor extinse și câteva dintre acestea sunt discutate mai jos.
- Raport HTML personalizabil cu reprezentare în trepte și în diagramă circulară.
- Afișează timpul necesar pentru executarea cazului de test în cadrul raportului.
- Fiecare pas de testare poate fi asociat cu o captură de ecran.
- Executarea mai multor cazuri de testare într-o singură suită poate fi urmărită cu ușurință.
- Poate fi ușor integrat cu cadrele TestNG și JUnit.
Utilizarea rapoartelor de extindere în Selenium Webdriver
Rapoartele de măsură conțin două clase majore care sunt utilizate frecvent.
- Clasa ExtentReports
- Clasa ExtentTest
Sintaxă:
Rapoarte ExtentReports = ExtentReports noi („Calea directorului pentru stocarea fișierului HTML rezultat”, adevărat / fals);
ce este programarea descriptivă în qtp
Test ExtentTest = reports.startTest („TestName”);
Clasa Extent Reports este utilizată pentru a genera un raport HTML pe calea specificată de utilizator. Semnalizatorul boolean indică dacă raportul existent trebuie suprascris sau trebuie creat un nou raport. Valoarea „adevărat” este valoarea implicită, ceea ce înseamnă că toate datele existente vor fi suprascrise.
Clasa Test Extent este utilizată pentru a înregistra pașii de testare în raportul HTML generat.
Clasele de mai sus pot fi utilizate cu metodele încorporate utilizate frecvent, care sunt enunțate mai jos.
- startTest
- endTest
- Buturuga
- culoare
Metodele startTest și endTest sunt utilizate pentru a executa condițiile prealabile și post-condițiile unui caz de testare, în timp ce metoda log este utilizată pentru a înregistra starea fiecărei etape de testare în raportul HTML rezultat. Metoda Flush este utilizată pentru a șterge orice date anterioare din raport și pentru a crea un raport nou.
Starea testului poate fi oricare dintre următoarele valori:
- TRECE
- EȘECE
- OCOLIRE
- INFO
Sintaxă:
reports.endTest ();
test.log (LogStatus.PASS, „Testul a trecut”);
test.log (LogStatus.FAIL, „Testul nu a reușit”);
test.log (LogStatus.SKIP, „Test omis”);
test.log (LogStatus.INFO, „Informații despre test”);
Metoda jurnalului cuprinde doi parametri, primul parametru este starea testului și al doilea parametru este mesajul care trebuie tipărit pe raportul rezultat.
Exemplu de cod pentru rapoarte de extindere
Menționate mai jos sunt secvența de pași pentru a utiliza rapoarte de extindere în Selenium Webdriver în Junit.
Pasul 1:
Rapoartele de măsură pot fi utilizate direct în seleniu WebDriver prin importarea fișierului JAR - extentreports-java-2.41.2.jar care poate fi descărcat aici .
Odată ce fișierul ZIP este descărcat, extrageți conținutul fișierului ZIP într-un folder.
Pasul 2:
inițializare variabilă statică c ++
Adăugați fișierele jar prezente în fișierul ZIP la calea de construire a proiectului utilizând opțiunea Build Path -> Configure Build Path.
Pasul 3:
Creați o nouă clasă JAVA cu codul de mai jos pentru rapoarte de extindere.
package com.objectrepository.demo; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import com.relevantcodes.extentreports.ExtentReports; import com.relevantcodes.extentreports.ExtentTest; import com.relevantcodes.extentreports.LogStatus; public class ExtentDemo { static ExtentTest test; static ExtentReports report; @BeforeClass public static void startTest() { report = new ExtentReports(System.getProperty('user.dir')+'\ExtentReportResults.html'); test = report.startTest('ExtentDemo'); } @Test public void extentReportsDemo() { System.setProperty('webdriver.chrome.driver', 'D:\SubmittalExchange_TFS\QA\Automationrdparty\chrome\chromedriver.exe'); WebDriver driver = new ChromeDriver(); driver.get('https://www.google.co.in'); if(driver.getTitle().equals('Google')) { test.log(LogStatus.PASS, 'Navigated to the specified URL'); } else { test.log(LogStatus.FAIL, 'Test Failed'); } } @AfterClass public static void endTest() { report.endTest(test); report.flush(); } }
Explicarea codului
@Înainte de curs:
Codul de mai sus demonstrează utilizarea rapoartelor de extindere. Execuția cazului de test începe cu metoda startTest, care implică inițializarea obiectului Rapoarte de extindere. Parametrul transmis obiectului Rapoarte de extindere poate fi orice cale validă definită de utilizator.
Pentru simplitate, exemplul folosește directorul de proiect curent pentru a genera raportul HTML rezultat. Următoarea declarație implică inițializarea obiectului ExtentTest cu valoarea returnată a metodei startTest.
@Test:
Clasa de testare include următorii pași:
- Deschideți browserul Chrome cu această adresă URL https://www.google.com
- Validați titlul paginii cu valoarea așteptată după deschiderea paginii.
- Înregistrați starea cazului de testare ca PASS / FAIL utilizând metoda de înregistrare a rapoartelor de extensie.
@După clasa:
After class include codul pentru a executa condițiile postcontestate ale cazului de testare, cum ar fi încheierea testului folosind metoda endTest și spălarea raportului. Vă rugăm să rețineți că raportul nu va fi generat dacă nu se folosește metoda flush ().
T este Raport sumar
Raport grafic în diagramă
Capturați captura de ecran în rapoarte extinse
Captura ecranului împreună cu executarea testului vor ajuta un tester la depanarea scriptului de testare dacă există probleme întâmpinate în timpul executării testului. Cu toate acestea, este recomandabil să captura de ecran numai dacă un pas de testare eșuează, deoarece imaginile vor consuma mai multă memorie dacă sunt capturate la fiecare pas de testare.
Capturile de ecran pot fi capturate pentru fiecare pas eșuat folosind codul de mai jos.
test.log(LogStatus.FAIL,test.addScreenCapture(capture(driver))+ 'Test Failed'); public static String capture(WebDriver driver) throws IOException { File scrFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE); File Dest = new File('src/../ErrImages/' + System.currentTimeMillis() + '.png'); String errflpath = Dest.getAbsolutePath(); FileUtils.copyFile(scrFile, Dest); return errflpath; }
Explicarea codului
Metoda de captare:
# 1) Metoda getScreenShotAs () este utilizată pentru a captura captura de ecran a instanței WebDriver curente și a o stoca în diferite forme de ieșire.
Fișier scrFile = (((TakesScreenshot) driver) .getScreenshotAs (OutputType.FILE);
#Două) Metoda getScreenShotAs returnează un obiect fișier care trebuie stocat pe o variabilă de fișier. Vă rugăm să rețineți că trimiterea instanței driverului web în Captură de ecran este obligatorie dacă doriți să utilizați metoda.
# 3) Fișier Dest = fișier nou („src /../ ErrImages /” + System.currentTimeMillis () + „.png”);
# 4) Declarația de mai sus creează un folder numit „ErrImages” în folderul „src” și stochează numele fișierului ca ora curentă a sistemului.
# 5) String errflpath = Dest.getAbsolutePath ();
FileUtils.copyFile (scrFile, Dest);
returnerrflpath;
# 6) Afirmațiile de mai sus copiază imaginile de eroare în folderul de destinație.
algoritmul de sortare a fuziunii c ++
Metoda jurnalului:
Metoda jurnal utilizează metoda încorporată, addScreenCapture din clasa Extent Test pentru a prelua captura de ecran și a o adăuga la Raportul de extindere.
test.log (LogStatus.FAIL, test.addScreenCapture (captură (driver)) + „Testul nu a reușit”);
Mesajul înregistrat pe metoda jurnalului poate include un mesaj detaliat, inclusiv rezultatele așteptate și efective în scopul depanării.
Ieșire:
Concluzie
Rapoartele de măsură sunt unul dintre cele mai bune moduri încorporate de a genera rapoarte HTML personalizabile cu o interfață de utilizator plăcută în driverul web Selenium.
Este o bibliotecă open source care poate fi configurată cu ușurință cu Selenium, făcând astfel cea mai bună alegere pentru testere de automatizare.
Sper că ați avea o idee clară despre rapoartele de extindere acum.
Lectură recomandată
- Tutorial Castravete Seleniu: Integrare Castravete Java Seleniu WebDriver
- Introducere în Selenium WebDriver - Tutorial Selenium # 8
- Implementarea primului nostru script WebDriver - Tutorial Selenium WebDriver # 10
- Întrebări frecvente despre seleniu
- Cum să gestionați alertele / ferestrele pop-up în Selenium WebDriver - Selenium Tutorial # 16
- Așteptare implicită și explicită în Selenium WebDriver (Tipuri de așteptări de seleniu)
- Cum se execută Selenium WebDriver în diferite browsere populare
- WebDriver Întreg instalare și instalare cu Eclipse - Selenium Tutorial # 9