guide generate extent reports selenium webdriver
Sådan genereres omfangsrapporter i Selen WebDriver:
Selen leverer indbyggede rapporter ved hjælp af rammer som JUnit og TestNG.
Selvom de indbyggede rapporter giver information om de trin, der udføres som en del af testsagen, har de brug for mere tilpasning for at blive delt med alle de store projektinteressenter.
Omfangsrapporter er en tilpasselig HTML-rapport udviklet af Anshoo Arora, som kan integreres i Selenium WebDriver ved hjælp af JUnit og TestNG-rammer.
Denne vejledning giver dig en komplet trin-for-trin guide til, hvordan du genererer omfangsrapporter i Selenium WebDrive med eksempelkoder.
Nedenfor er snapshot af den indbyggede rapport leveret af TestNG framework:
Omfangsrapporter tilbyder flere fordele i forhold til de indbyggede rapporter, der genereres gennem JUnit og TestNG, såsom cirkeldiagramrepræsentation, test trinvis generering af rapporter, tilføj skærmbilleder osv. Ved hvert testtrin og en præsentabel brugergrænseflade, der kan deles med alle interessenter i projektet.
Nedenfor er et øjebliksbillede af en prøve Omfangsrapport i cirkeldiagramrepræsentation
(Bemærk:Klik på et hvilket som helst billede for at se et forstørret billede)
Hvad du vil lære:
- Fordele ved at bruge omfangsrapporter
- Brug af omfangsrapporter i Selenium Webdriver
- Eksempelkode for omfangsrapporter
- Testoversigtsrapport
- Grafisk rapport for cirkeldiagram
- Optag skærmbillede i omfangsrapporter
- Konklusion
- Anbefalet læsning
Fordele ved at bruge omfangsrapporter
Der er flere fordele ved omfangsrapporter, og få af dem diskuteres nedenfor.
- Kan tilpasses HTML-rapport med trinvis og cirkeldiagramrepræsentation.
- Viser den tid, det tager at udføre testsagen i rapporten.
- Hvert testtrin kan knyttes til et screenshot.
- Flere test tilfælde kører inden for en enkelt suite kan let spores.
- Kan let integreres med TestNG og JUnit rammer.
Brug af omfangsrapporter i Selenium Webdriver
Omfangsrapporter indeholder to hovedklasser, der bruges ofte.
- Klasse ExtentReports
- Klasse ExtentTest
Syntaks:
ExtentReports-rapporter = nye ExtentReports ('Sti til katalog til lagring af den resulterende HTML-fil', true / false);
forskel mellem adræt og vandfaldstest
ExtentTest test = rapporter.startTest (“Testnavn”);
Klassen Omfangsrapporter bruges til at generere en HTML-rapport på den brugerdefinerede sti. Det booleske flag angiver, om den eksisterende rapport skal overskrives, eller om der skal oprettes en ny rapport. Værdien 'sand' er standardværdien, hvilket betyder, at alle eksisterende data overskrives.
Omfangstestklasse bruges til at logge testtrin på den genererede HTML-rapport.
Ovennævnte klasser kan bruges med de ofte anvendte indbyggede metoder, der er angivet nedenfor.
- startTest
- endTest
- Log
- Flush
startTest- og endTest-metoder bruges til at udføre forudsætninger og efterbetingelser for en testsag, mens logmetode bruges til at logge status for hvert testtrin på den resulterende HTML-rapport. Flush-metoden bruges til at slette tidligere data i rapporten og oprette en ny rapport.
Teststatus kan være en af følgende værdier:
- PASSERE
- SVIGTE
- SPRINGE
- INFO
Syntaks:
rapporter.endTest ();
test.log (LogStatus.PASS, ”Test bestået”);
test.log (LogStatus.FAIL, ”Test mislykkedes”);
test.log (LogStatus.SKIP, ”Test springet over”);
test.log (LogStatus.INFO, ”Testinfo”);
Log-metoden indeholder to parametre, den første parameter er teststatus, og den anden parameter er meddelelsen, der skal udskrives på den resulterende rapport.
Eksempelkode for omfangsrapporter
Nedenfor er rækkefølgen af trin til brug af omfangsrapporter i Selenium Webdriver i Junit.
Trin 1:
Omfangsrapporter kan bruges direkte i selen WebDriver ved at importere JAR-filen - measurereports-java-2.41.2.jar, som kan downloadet her .
Når ZIP-filen er downloadet, skal du udpakke indholdet af ZIP-filen i en mappe.
Trin # 2:
Tilføj jar-filer, der er til stede i ZIP-filen, til projektbygningsstien ved hjælp af indstillingen Byg sti -> Konfigurer Byg sti.
gratis systemoptimering til Windows 7
Trin # 3:
Opret en ny JAVA-klasse med nedenstående kode 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:
Ovenstående kode viser brugen af omfangsrapporter. Test case-udførelse begynder med startTest-metoden, som involverer initialisering af Extent Reports-objektet. Parameteren, der sendes til Extent Reports-objektet, kan være en hvilken som helst gyldig brugerdefineret sti.
For enkelheds skyld, eksemplet bruger den aktuelle projektmappe til at generere den resulterende HTML-rapport. Den næste sætning involverer initialisering af ExtentTest-objektet med returværdien af startTest-metoden.
@Prøve:
Testklassen indeholder følgende trin:
- Åbn Chrome-browseren med denne url https://www.google.com
- Valider sidetitlen med den forventede værdi, når siden er åbnet.
- Log testtilstandens status som PASS / FAIL ved hjælp af log-metoden i Extent Reports.
@Efter skole:
Efter klassen inkluderer koden til at udføre postconditions i testsagen, såsom at afslutte testen ved hjælp af endTest-metoden og skylle rapporten. Bemærk, at rapporten ikke genereres, hvis metoden flush () ikke bruges.
T er sammenfattende rapport
Grafisk rapport for cirkeldiagram
Optag skærmbillede i omfangsrapporter
Screen Capture sammen med testudførelse hjælper en tester med fejlfinding i testscriptet, hvis der er problemer under testudførelsen. Det tilrådes dog at fange skærmbillede kun hvis et testtrin mislykkes, da billederne vil forbruge mere hukommelse, hvis de fanges i hvert testtrin.
hvordan man bruger søvn i c ++
Screenshots kan optages for hvert mislykkede trin ved hjælp af nedenstående kode.
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
Optagelsesmetode:
# 1) getScreenShotAs () -metoden bruges til at fange skærmbilledet af den aktuelle WebDriver-forekomst og gemme den i forskellige outputformer.
File scrFile = ((TakesScreenshot) driver) .getScreenshotAs (OutputType.FILE);
#to) getScreenShotAs-metoden returnerer et filobjekt, der skal gemmes på en filvariabel. Bemærk, at det er obligatorisk at kaste webdriverinstansen til Take Screenshot, hvis du vil bruge metoden.
# 3) File Dest = new File (“src /../ ErrImages /” + System.currentTimeMillis () + “.png”);
# 4) Ovenstående erklæring opretter en mappe med navnet 'ErrImages' i mappen 'src' og gemmer filnavnet som det aktuelle systemtid.
# 5) Streng errflpath = Dest.getAbsolutePath ();
FileUtils.copyFile (scrFile, Dest);
returnerrflpath;
# 6) Ovenstående udsagn kopierer fejlbillederne til destinationsmappen.
Log metode:
Log-metoden bruger den indbyggede metode, addScreenCapture of Extent Test class for at hente skærmbilledet og føje det til Extent Report.
test.log (LogStatus.FAIL, test.addScreenCapture (capture (driver)) + “Test Failed”);
Meddelelse, der er optaget på log-metoden, kan omfatte detaljeret besked inklusive forventede og faktiske resultater til fejlfindingsformål.
Produktion:
Konklusion
Omfangsrapporter er en af de bedste indbyggede måder til at generere tilpassede HTML-rapporter med en behagelig brugergrænseflade i Selenium-webdriver.
Det er et open source-bibliotek, der let kan konfigureres med Selen, hvilket gør det til det bedste valg for automatiseringstestere.
Håber du ville have fået en klar idé om omfangsrapporter nu.
Anbefalet læsning
- Agurk Selen Tutorial: Agurk Java Selen WebDriver Integration
- Introduktion til Selen WebDriver - Selen Tutorial # 8
- Implementering af vores første WebDriver Script - Selenium WebDriver Tutorial # 10
- Ofte stillede spørgsmål om selen
- Sådan håndteres alarmer / pop op-vinduer i Selen WebDriver - Selen-vejledning nr. 16
- Implicit og eksplicit Vent i Selen WebDriver (Typer af Selen Waits)
- Sådan køres Selenium WebDriver i forskellige populære browsere
- WebDriver Hele installationen og installationen med Eclipse - Selenium-tutorial # 9