guide generate extent reports selenium webdriver
Hur man genererar omfattande rapporter i Selen WebDriver:
Selen tillhandahåller inbyggda rapporter med ramverk som JUnit och TestNG.
Även om de inbyggda rapporterna ger information om de steg som körs som en del av testfallet, behöver de mer anpassning för att delas med alla större projektintressenter.
Extent Reports är en anpassningsbar HTML-rapport utvecklad av Anshoo Arora som kan integreras i Selenium WebDriver med JUnit- och TestNG-ramar.
Denna handledning ger dig en komplett steg-för-steg-guide om hur du genererar omfattande rapporter i Selen WebDrive med exempelkoder.
Nedan visas ögonblicksbilden av den inbyggda rapporten från TestNG framework:
Extent Reports erbjuder flera fördelar jämfört med de inbyggda rapporterna som genereras genom JUnit och TestNG, såsom cirkeldiagramrepresentation, test stegvis rapportgenerering, lägga till skärmdumpar etc., vid varje teststeg och ett presentabelt användargränssnitt som kan delas med projektets alla intressenter.
Nedan visas ögonblicksbilden av ett exempel på omfattningsrapport i cirkeldiagramrepresentation
(Notera:Klicka på valfri bild för en förstorad vy)
Vad du kommer att lära dig:
- Fördelar med att använda omfattande rapporter
- Använda omfattande rapporter i Selenium Webdriver
- Exempelkod för omfattande rapporter
- Testöversiktsrapport
- Grafisk rapport för cirkeldiagram
- Fånga skärmdump i omfattande rapporter
- Slutsats
- Rekommenderad läsning
Fördelar med att använda omfattande rapporter
Det finns flera fördelar med omfattande rapporter och få av dem diskuteras nedan.
- Anpassningsbar HTML-rapport med stegvis och cirkeldiagramrepresentation.
- Visar den tid det tar för genomförandet av testfallet i rapporten.
- Varje teststeg kan associeras med en skärmdump.
- Flera testfall som körs i en svit kan enkelt spåras.
- Kan enkelt integreras med TestNG och JUnit ramar.
Använda omfattande rapporter i Selenium Webdriver
Omfattningsrapporter innehåller två huvudklasser som används ofta.
- ExtentReports-klass
- ExtentTest-klass
Syntax:
ExtentReports-rapporter = nya ExtentReports ('Sökväg för katalog för att lagra den resulterande HTML-filen', true / false);
youtube till mp3 online-omvandlare recensioner
ExtentTest test = rapporten.startTest (“Testnamn”);
Extent Reports-klass används för att generera en HTML-rapport på den användardefinierade sökvägen. Den booleska flaggan indikerar om den befintliga rapporten måste skrivas över eller om en ny rapport måste skapas. Värde 'true' är standardvärdet, vilket innebär att alla befintliga data kommer att skrivas över.
Omfattningstestklass används för att logga teststeg på den genererade HTML-rapporten.
Ovanstående klasser kan användas med de ofta använda inbyggda metoderna som anges nedan.
- startTest
- slutTest
- Logga
- spola
startTest och endTest-metoder används för att utföra förutsättningar och eftervillkor för ett testfall, medan loggmetoden används för att logga status för varje teststeg till den resulterande HTML-rapporten. Flush-metoden används för att radera tidigare data i rapporten och skapa en ny rapport.
Teststatus kan vara något av följande värden:
- PASSERA
- MISSLYCKAS
- HOPPA
- INFO
Syntax:
rapporter.endTest ();
test.log (LogStatus.PASS, ”Test Passed”);
test.log (LogStatus.FAIL, ”Test misslyckades”);
test.log (LogStatus.SKIP, ”Test hoppades över”);
test.log (LogStatus.INFO, ”Testinfo”);
Loggmetoden tar in två parametrar, den första parametern är teststatus och den andra parametern är meddelandet som ska skrivas ut på den resulterande rapporten.
Exempelkod för omfattande rapporter
Nedan nämns stegsekvensen för att använda Extent Reports i Selenium Webdriver i Junit.
Steg 1:
Omfattningsrapporter kan användas direkt i selen WebDriver genom att importera JAR-filen - measurereports-java-2.41.2.jar som kan laddas ner här .
bästa mobilspionapp för Android
När ZIP-filen har laddats ner extraherar du innehållet i ZIP-filen i en mapp.
Steg 2:
Lägg till jar-filerna som finns i ZIP-filen i projektbyggnadssökvägen med hjälp av alternativet Bygg väg -> Konfigurera byggväg.
Steg 3:
Skapa en ny JAVA-klass med nedanstående kod för 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(); } }
Kodförklaring
@Innan lektionen:
Ovanstående kod visar användningen av Extent Reports. Utförande av testfall börjar med startTest-metoden, som involverar initialisering av Extent Reports-objektet. Parametern som skickas till Extent Reports-objektet kan vara vilken giltig användardefinierad sökväg som helst.
För enkelhets skull, Exemplet använder den aktuella projektkatalogen för att generera den resulterande HTML-rapporten. Nästa uttalande innebär initialisering av ExtentTest-objektet med returvärdet för startTest-metoden.
@Testa:
Testklassen innehåller följande steg:
- Öppna Chrome-webbläsaren med den här webbadressen https://www.google.com
- Validera sidrubriken med det förväntade värdet när sidan öppnas.
- Logga testfallets status som PASS / FAIL med hjälp av loggmetoden för Extent Reports.
@Efter lektionen:
Efter klassen innehåller koden för att utföra postvillkoren för testfallet, till exempel att avsluta testet med endTest-metoden och spola rapporten. Observera att rapporten inte kommer att genereras om metoden flush () inte används.
T är sammanfattningsrapport
bästa DVD-rippningsprogramvara för Windows 10
Grafisk rapport för cirkeldiagram
Fånga skärmdump i omfattande rapporter
Screen Capture tillsammans med testkörning hjälper en testare att felsöka testskriptet om det finns några problem under testkörningen. Det är dock tillrådligt att fånga skärmdump bara om ett teststeg misslyckas eftersom bilderna tar mer minne om de tas i varje teststeg.
Skärmbilder kan tas för varje misslyckat steg med hjälp av nedanstående kod.
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; }
Kodförklaring
Fångningsmetod:
# 1) getScreenShotAs () -metoden används för att fånga skärmdumpen av den aktuella WebDriver-instansen och lagra den i olika utdataformer.
File scrFile = ((TakesScreenshot) driver) .getScreenshotAs (OutputType.FILE);
#två) getScreenShotAs-metoden returnerar ett filobjekt som måste lagras i en filvariabel. Observera att det är obligatoriskt att kasta webbdrivrutinsinstansen till Take Screenshot om du vill använda metoden.
# 3) File Dest = new File (“src /../ ErrImages /” + System.currentTimeMillis () + “.png”);
# 4) Ovanstående uttalande skapar en mapp med namnet 'ErrImages' i mappen 'src' och lagrar filnamnet som aktuell systemtid.
# 5) Sträng errflpath = Dest.getAbsolutePath ();
FileUtils.copyFile (scrFile, Dest);
returnerrflpath;
# 6) Ovanstående uttalanden kopierar felbilderna till målmappen.
Loggningsmetod:
Loggmetoden använder den inbyggda metoden, addScreenCapture of Extent Test class för att hämta skärmdumpen och lägga till den i Extent Report.
test.log (LogStatus.FAIL, test.addScreenCapture (capture (driver)) + “Test misslyckades”);
Meddelande som registreras på loggmetoden kan innehålla detaljerat meddelande inklusive förväntade och faktiska resultat för felsökningsändamål.
Produktion:
Slutsats
Omfattningsrapporter är ett av de bästa inbyggda sätten att generera anpassningsbara HTML-rapporter med ett tilltalande användargränssnitt i Selenium-webbdrivrutinen.
Det är ett bibliotek med öppen källkod som enkelt kan konfigureras med Selen, vilket gör det till det bästa valet för automatiseringstestare.
Hoppas att du skulle ha fått en klar uppfattning om omfattande rapporter nu.
Rekommenderad läsning
- Gurkselen-handledning: Gurka Java Selen WebDriver-integration
- Introduktion till Selen WebDriver - Selen Tutorial # 8
- Implementation of Our First WebDriver Script - Selenium WebDriver Tutorial # 10
- Vanliga frågor om selen
- Hur man hanterar varningar / popup-fönster i Selen WebDriver - Selen Tutorial # 16
- Implicit och Explicit Wait i Selen WebDriver (Typer av Selen Waits)
- Hur man kör Selen WebDriver i olika populära webbläsare
- WebDriver Hela installationen och installationen med Eclipse - Selen Tutorial # 9