guide generate extent reports selenium webdriver
Slik genererer du omfattende rapporter i Selen WebDriver:
Selen leverer innebygde rapporter ved hjelp av rammer som JUnit og TestNG.
Selv om de innebygde rapportene gir informasjon om trinnene som utføres som en del av testsaken, trenger de mer tilpasning for å bli delt med alle de store interessentene i prosjektet.
Extent Reports er en tilpassbar HTML-rapport utviklet av Anshoo Arora, som kan integreres i Selenium WebDriver ved hjelp av JUnit og TestNG rammeverk.
Denne opplæringen vil gi deg en fullstendig trinnvis veiledning om hvordan du genererer omfangsrapporter i Selenium WebDrive med eksempelkoder.
Nedenfor er øyeblikksbildet av den innebygde rapporten levert av TestNG framework:
Omfangsrapporter gir flere fordeler sammenlignet med de innebygde rapportene som genereres gjennom JUnit og TestNG, for eksempel sektordiagramrepresentasjon, test trinnvis generering av rapporter, legg til skjermbilder etc., ved hvert testtrinn og et presentabelt brukergrensesnitt som kan deles med alle interessenter i prosjektet.
Nedenfor er øyeblikksbildet av en prøve Omfangsrapport i sektordiagramrepresentasjon
(Merk:Klikk på et hvilket som helst bilde for en forstørret visning)
Hva du vil lære:
- Fordeler ved bruk av omfangsrapporter
- Bruke omfangsrapporter i Selenium Webdriver
- Eksempelkode for omfangsrapporter
- Testoversiktsrapport
- Sirkeldiagram Grafisk rapport
- Ta skjermbilde i omfangsrapporter
- Konklusjon
- Anbefalt lesing
Fordeler ved bruk av omfangsrapporter
Det er flere fordeler med omfangsrapporter, og få av dem blir diskutert nedenfor.
- Tilpasses HTML-rapport med trinnvis og sektordiagramrepresentasjon.
- Viser tiden det tar for gjennomføring av testsaken i rapporten.
- Hvert testtrinn kan knyttes til et skjermbilde.
- Flere testsaker som kjøres i en enkelt suite kan enkelt spores.
- Kan enkelt integreres med TestNG og JUnit rammeverk.
Bruke omfangsrapporter i Selenium Webdriver
Omfangsrapporter inneholder to hovedklasser som brukes ofte.
- ExtentReports-klasse
- ExtentTest-klasse
Syntaks:
ExtentReports-rapporter = nye ExtentReports ('Katalogbane for å lagre den resulterende HTML-filen', true / false);
youtube til mp3 online converter anmeldelser
ExtentTest test = rapporten.startTest (“Testnavn”);
Extent Reports-klasse brukes til å generere en HTML-rapport på den brukerdefinerte banen. Det boolske flagget indikerer om den eksisterende rapporten må overskrives eller det må opprettes en ny rapport. Verdien ‘sann’ er standardverdien, noe som betyr at alle eksisterende data blir overskrevet.
Omfangstestklasse brukes til å logge teststrinn på den genererte HTML-rapporten.
Ovennevnte klasser kan brukes med de ofte brukte innebygde metodene som er angitt nedenfor.
- startTest
- sluttTest
- Logg
- skyll
startTest og endTest-metoder brukes til å utføre forutsetninger og etterbetingelser for en testtilfelle, mens loggmetode brukes til å logge status for hvert testtrinn på den resulterende HTML-rapporten. Flush-metoden brukes til å slette tidligere data i rapporten og opprette en ny rapport.
Teststatus kan være en av følgende verdier:
initialisering av statiske variabler c ++
- SENDE
- FEIL
- HOPP
- INFO
Syntaks:
rapporter.endTest ();
test.log (LogStatus.PASS, ”Test bestått”);
test.log (LogStatus.FAIL, “Test Mislyktes”);
test.log (LogStatus.SKIP, ”Test hoppet over”);
test.log (LogStatus.INFO, ”Test Info”);
Loggmetoden tar inn to parametere, den første parameteren er teststatus og den andre parameteren er meldingen som skal skrives ut på den resulterende rapporten.
Eksempelkode for omfangsrapporter
Nevnt nedenfor er trinnsekvensen for å bruke Extent Reports i Selenium Webdriver i Junit.
Trinn 1:
Omfangsrapporter kan brukes direkte i selen WebDriver ved å importere JAR-filen - measurereports-java-2.41.2.jar som kan lastet ned her .
Når ZIP-filen er lastet ned, trekker du ut innholdet i ZIP-filen i en mappe.
Steg 2:
Legg til jar-filene som er tilstede i ZIP-filen i prosjektbygningsstien ved hjelp av alternativet Build Path -> Configure Build Path.
Trinn 3:
Opprett en ny JAVA-klasse med koden nedenfor for Extent Reports.
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(); } }
Kode Forklaring
@BeforeClass:
Ovennevnte kode viser bruken av omfangsrapporter. Testutførelse begynner med startTest-metoden, som innebærer initialisering av Extent Reports-objektet. Parameteren som sendes til Extent Reports-objektet kan være en hvilken som helst gyldig brukerdefinert bane.
For enkelhets skyld, eksempelet bruker den gjeldende prosjektkatalogen til å generere den resulterende HTML-rapporten. Neste setning innebærer initialisering av ExtentTest-objektet med returverdien til startTest-metoden.
@Test:
Testklassen inkluderer følgende trinn:
- Åpne Chrome-nettleseren med denne url https://www.google.com
- Valider sidetittelen med forventet verdi når siden er åpnet.
- Logg testtilstandsstatusen som PASS / FAIL ved hjelp av loggmetoden for Extent Reports.
@Etter timen:
Etter klassen inkluderer koden for å utføre postconditions for test saken, som å avslutte testen ved hjelp av endTest-metoden og skylle rapporten. Vær oppmerksom på at rapporten ikke blir generert hvis flush () -metoden ikke brukes.
T er sammendragsrapport
Sirkeldiagram Grafisk rapport
Ta skjermbilde i omfangsrapporter
Screen Capture sammen med testutførelse vil hjelpe en tester i feilsøking av testskriptet hvis det er noen problemer under testutførelsen. Det anbefales imidlertid å ta skjermbilde bare hvis et testtrinn mislykkes, ettersom bildene vil forbruke mer minne hvis de tas på hvert testtrinn.
Skjermbilder kan tas for hvert mislykkede trinn ved hjelp av koden nedenfor.
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; }
Kode Forklaring
Fangstmetode:
#1) getScreenShotAs () -metoden brukes til å fange skjermbildet av den gjeldende WebDriver-forekomsten og lagre den i forskjellige utgangsformer.
File scrFile = ((TakesScreenshot) driver) .getScreenshotAs (OutputType.FILE);
#to) getScreenShotAs-metoden returnerer et filobjekt som må lagres på en filvariabel. Vær oppmerksom på at det er obligatorisk å kaste instansen til nettdriveren til Take Screenshot hvis du vil bruke metoden.
# 3) File Dest = new File (“src /../ ErrImages /” + System.currentTimeMillis () + “.png”);
# 4) Ovennevnte uttalelse oppretter en mappe med navnet 'ErrImages' i 'src' -mappen og lagrer filnavnet som gjeldende systemtid.
# 5) Streng errflpath = Dest.getAbsolutePath ();
FileUtils.copyFile (scrFile, Dest);
returnerrflpath;
# 6) Ovennevnte utsagn kopierer feilbildene til målmappen.
Loggmetode:
Logg-metoden bruker den innebygde metoden, addScreenCapture of Extent Test class for å hente skjermbildet og legge det til Extent Report.
test.log (LogStatus.FAIL, test.addScreenCapture (capture (driver)) + “Test Failed”);
Meldinger registrert på loggmetoden kan inneholde detaljert melding inkludert forventede og faktiske resultater for feilsøkingsformål.
Produksjon:
Konklusjon
Omfangsrapporter er en av de beste innebygde måtene å generere tilpassbare HTML-rapporter med et behagelig brukergrensesnitt i Selenium-driver.
hva kan jeg lage med c ++
Det er et open source-bibliotek som enkelt kan konfigureres med Selen, og dermed gjør det til det beste valget for automatiseringstestere.
Håper du ville ha fått en klar idé om omfangsrapporter nå.
Anbefalt lesing
- Agurk Selen Tutorial: Agurk Java Selen WebDriver Integration
- Introduksjon til Selen WebDriver - Selenium Tutorial # 8
- Implementering av vårt første WebDriver Script - Selenium WebDriver Tutorial # 10
- Vanlige spørsmål om selen
- Hvordan håndtere varsler / popup-vinduer i Selen WebDriver - Selenium-veiledning nr. 16
- Implisitt og eksplisitt ventetid i Selen WebDriver (Typer Selen Waits)
- Hvordan kjøre Selen WebDriver i forskjellige populære nettlesere
- WebDriver Hele installasjonen og installasjonen med Eclipse - Selenium Tutorial # 9