guide generate extent reports selenium webdriver
Kako ustvariti obsežna poročila v programu Selenium WebDriver:
Selen ponuja vgrajena poročila z uporabo okvirov, kot sta JUnit in TestNG.
Čeprav vgrajena poročila vsebujejo informacije o korakih, ki se izvajajo kot del testnega primera, potrebujejo več prilagoditev, da jih lahko delijo z vsemi pomembnimi deležniki projekta.
Extent Reports je prilagodljivo poročilo HTML, ki ga je razvil Anshoo Arora in ga je mogoče integrirati v Selenium WebDriver z uporabo okvirov JUnit in TestNG.
Ta vadnica vam bo dala popoln vodnik po korakih o tem, kako ustvariti obsežna poročila v programu Selenium WebDrive s primeri kod.
Spodaj je posnetek vgrajenega poročila, ki ga ponuja ogrodje TestNG:
Obsežna poročila ponujajo več prednosti v primerjavi z vgrajenimi poročili, ki se ustvarijo prek JUnit in TestNG, na primer predstavitev tortnih grafikonov, postopno generiranje poročil, dodajanje posnetkov zaslona itd. Na vsakem preskusnem koraku in predstavljiv uporabniški vmesnik, ki ga lahko delite z vse zainteresirane strani v projektu.
Spodaj je posnetek vzorčnega poročila Obseg v predstavitvi tortnega diagrama
(Opomba:Kliknite katero koli sliko za povečan pogled)
Kaj se boste naučili:
- Prednosti uporabe obsežnih poročil
- Uporaba obsežnih poročil v programu Selenium Webdriver
- Vzorčna koda za obsežna poročila
- Povzetek poročila o preskusu
- Grafično poročilo tortnega grafikona
- Posnetek zaslona v obsežnih poročilih
- Zaključek
- Priporočeno branje
Prednosti uporabe obsežnih poročil
Prednosti ekstenzivnih poročil je več, nekatere pa so obravnavane v nadaljevanju.
- Prilagodljivo poročilo HTML s postopnim prikazom in tortnim prikazom.
- V poročilu prikaže čas, potreben za izvedbo testnega primera.
- Vsak preskusni korak je lahko povezan s posnetkom zaslona.
- Več testnim primerom v enem paketu je mogoče enostavno slediti.
- Lahko se enostavno integrira z ogrodjema TestNG in JUnit.
Uporaba obsežnih poročil v programu Selenium Webdriver
Poročila obsega vsebujejo dva glavna razreda, ki se pogosto uporabljata.
- Razred ExtentReports
- Razred ExtentTest
Sintaksa:
Poročila ExtentReports = nova ExtentReports ('Pot do imenika za shranjevanje nastale datoteke HTML', true / false);
kopira matriko v drugo matriko java
ExtentTest test = reports.startTest (“TestName”);
Razred Poročila obsega se uporablja za ustvarjanje poročila HTML na uporabniško določeni poti. Logična zastavica označuje, ali je treba obstoječe poročilo prepisati ali ustvariti novo poročilo. Vrednost ‘true’ je privzeta vrednost, kar pomeni, da bodo vsi obstoječi podatki prepisani.
Razred preizkusa obsega se uporablja za beleženje preskusnih korakov v ustvarjeno poročilo HTML.
Zgornje razrede je mogoče uporabiti s pogosto uporabljenimi vgrajenimi metodami, ki so navedene spodaj.
- startTest
- endTest
- Dnevnik
- splakovanje
Metodi startTest in endTest se uporabljata za izvajanje predpogojev in post-pogojev testnega primera, medtem ko se metoda dnevnika uporablja za beleženje stanja vsakega preskusnega koraka v rezultatno poročilo HTML. Metoda izpiranja se uporablja za brisanje vseh prejšnjih podatkov v poročilu in ustvarjanje novega poročila.
Test Status je lahko katera koli od naslednjih vrednosti:
- PASS
- FAIL
- SKIP
- INFO
Sintaksa:
report.endTest ();
test.log (LogStatus.PASS, »Test uspešno opravljen«);
test.log (LogStatus.FAIL, »Test ni uspel«);
test.log (LogStatus.SKIP, »Preskočen preskus«);
test.log (LogStatus.INFO, ”Test Info”);
Metoda dnevnika zajema dva parametra, prvi parameter je stanje testa, drugi pa sporočilo, ki se natisne v rezultatu poročila.
Vzorčna koda za obsežna poročila
Spodaj omenjeno zaporedje korakov za uporabo obsežnih poročil v programu Selenium Webdriver v Junitu.
Korak 1:
Poročila obsega lahko neposredno uporabite v selenium WebDriver tako, da uvozite datoteko JAR - extereports-java-2.41.2.jar, ki jo lahko prenesete tukaj .
Ko je datoteka ZIP prenesena, izvlecite vsebino datoteke ZIP v mapo.
2. korak:
c programska vprašanja in odgovori na razgovore
Datoteke jar, ki so prisotne v datoteki ZIP, dodajte v pot gradnje projekta z možnostjo Zgradite pot -> Konfigurirajte pot zgradbe.
3. korak:
Ustvarite nov razred JAVA s spodnjo kodo za obsežna poročila.
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(); } }
Razlaga kode
@BeforeClass:
Zgornja koda prikazuje uporabo poročil Extent. Izvajanje testnega primera se začne z metodo startTest, ki vključuje inicializacijo predmeta Extent Reports. Parameter, ki se posreduje objektu Extent Reports, je lahko katera koli veljavna uporabniško določena pot.
Zaradi poenostavitve primer uporablja trenutni imenik projekta za generiranje rezultatov poročila HTML. Naslednji stavek vključuje inicializacijo predmeta ExtentTest z vrnjeno vrednostjo metode startTest.
@Test:
Testni razred vključuje naslednje korake:
- Odprite brskalnik Chrome s tem URL-jem https://www.google.com
- Ko stran odprete, potrdite naslov strani s pričakovano vrednostjo.
- Stanje testnega primera zabeležite kot PASS / FAIL z uporabo metode dnevnika Extent Reports.
@Po pouku:
Potem razred vključi kodo za izvedbo postkondicitov testnega primera, kot je končanje testa z uporabo metode endTest in izpiranje poročila. Upoštevajte, da poročilo ne bo ustvarjeno, če se ne uporabi metoda flush ().
T je zbirno poročilo
Grafično poročilo tortnega grafikona
najboljša programska oprema za prenos youtube videoposnetkov
Posnetek zaslona v obsežnih poročilih
Screen Capture skupaj z izvajanjem testa bo preizkuševalcu pomagal pri odpravljanju napak v testnem skriptu, če med izvajanjem preizkusa pride do kakršnih koli težav. Vendar je priporočljivo zajem posnetka zaslona samo če testni korak ne uspe, saj bodo slike porabile več pomnilnika, če bodo zajete v vsakem testnem koraku.
Posnetke zaslona lahko zajamete za vsak neuspeli korak s spodnjo kodo.
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; }
Razlaga kode
Metoda zajemanja:
# 1) metoda getScreenShotAs () se uporablja za zajem posnetka zaslona trenutnega primerka WebDriver in njegovo shranjevanje v različne izhodne obrazce.
Datoteka scrFile = ((TakesScreenshot) gonilnik) .getScreenshotAs (OutputType.FILE);
#two) metoda getScreenShotAs vrne datotečni objekt, ki ga je treba shraniti v datotečno spremenljivko. Upoštevajte, da je primerek spletnega gonilnika na posnetek zaslona obvezen, če želite uporabiti metodo.
# 3) Cilj datoteke = nova datoteka (“src /../ ErrImages /” + System.currentTimeMillis () + “.png”);
# 4) Zgornji stavek ustvari mapo z imenom 'ErrImages' v mapi 'src' in ime datoteke shrani kot trenutni sistemski čas.
# 5) Niz errflpath = Dest.getAbsolutePath ();
FileUtils.copyFile (scrFile, Dest);
returnnerrflpath;
# 6) Zgornji stavki kopirajo slike napak v ciljno mapo.
Način dnevnika:
Metoda dnevnika uporablja vgrajeno metodo addScreenCapture razreda Extent Test, da prikliče posnetek zaslona in ga doda poročilu Extent.
test.log (LogStatus.FAIL, test.addScreenCapture (zajem (gonilnik)) + “Test ni uspel“);
Sporočilo, zapisano z metodo dnevnika, lahko vključuje podrobno sporočilo, vključno s pričakovanimi in dejanskimi rezultati za namen odpravljanja napak.
Izhod:
Zaključek
Poročila obsega so eden najboljših vgrajenih načinov za ustvarjanje prilagodljivih poročil HTML z prijetnim uporabniškim vmesnikom v spletnem gonilniku Selenium.
Je odprtokodna knjižnica, ki jo je mogoče enostavno konfigurirati s selenijem in je tako najboljša izbira za preizkuševalce avtomatizacije.
Upam, da bi zdaj imeli jasno predstavo o poročilih o obsegu.
Priporočeno branje
- Vadnica za kumare selena: Integracija kumar Java Selenium WebDriver
- Uvod v Selenium WebDriver - Vadnica za selenij št. 8
- Implementacija našega prvega skripta WebDriver - Vadnica # 10 za selenium WebDriver
- Pogosta vprašanja o selenu
- Kako ravnati z opozorili / pojavnimi okni v programu Selenium WebDriver - Vodič za selenij št. 16
- Implicitno in eksplicitno čakanje v programu Selenium WebDriver (vrste selenijskih čakal)
- Kako zagnati Selenium WebDriver v različnih priljubljenih brskalnikih
- Celotna namestitev in namestitev WebDriverja z Eclipse - Vadnica za selen št. 9