guide generate extent reports selenium webdriver
Ako generovať rozsiahle správy v selenovom webovom ovládači:
Selén poskytuje zabudované správy pomocou rámcov ako JUnit a TestNG.
Aj keď vstavané správy poskytujú informácie o krokoch, ktoré sa vykonávajú ako súčasť testovacieho prípadu, je potrebné zdieľať ich so všetkými hlavnými zúčastnenými stranami projektu.
Rozsah správy je prispôsobiteľná správa vo formáte HTML vyvinutá spoločnosťou Anshoo Arora, ktorú možno integrovať do selénového webového ovládača pomocou rámcov JUnit a TestNG.
Tento tutoriál vám poskytne kompletného podrobného sprievodcu, ako generovať správy o rozsahu na serveri Selenium WebDrive s príkladmi kódov.
Nižšie je uvedený prehľad vstavanej správy poskytnutej rámcom TestNG:
Rozsah správy ponúka niekoľko výhod v porovnaní s vstavanými správami, ktoré sa generujú prostredníctvom JUnit a TestNG, ako je napríklad reprezentácia koláčového grafu, testovanie generovania postupných správ, pridávanie snímok obrazovky atď. Pri každom kroku testu a prezentovateľné používateľské rozhranie, ktoré je možné zdieľať s všetky zúčastnené strany projektu.
Nižšie je uvedený obrázok ukážky rozsahu v reprezentácii koláčového grafu
(Poznámka:Kliknutím na ľubovoľný obrázok zobrazíte zväčšené zobrazenie)
Čo sa dozviete:
- Výhody použitia prehľadov rozsahu
- Používanie rozsahu správ v selenovom webdriveri
- Ukážkový kód pre rozsah správ
- Súhrnná správa o teste
- Výsečový graf, grafická správa
- Zachytiť snímku obrazovky v prehľadoch rozsahu
- Záver
- Odporúčané čítanie
Výhody použitia prehľadov rozsahu
Existuje niekoľko výhod rozsahu správ a niekoľko z nich je popísané nižšie.
- Prispôsobiteľný prehľad HTML s postupným a koláčovým grafom.
- V správe sa zobrazuje čas potrebný na vykonanie testovacieho prípadu.
- Ku každému kroku testu je možné priradiť snímku obrazovky.
- Ľahko je možné sledovať viac testovacích prípadov v rámci jednej sady.
- Dá sa ľahko integrovať do rámcov TestNG a JUnit.
Používanie rozsahu správ v selenovom webdriveri
Správy o rozsahu obsahujú dve hlavné triedy, ktoré sa často používajú.
- Trieda ExtentReports
- Trieda ExtentTest
Syntax:
ExtentReports reporty = nové ExtentReports („Cesta adresára na uloženie výsledného súboru HTML“, true / false);
dátová štruktúra zásobníka c ++
ExtentTest test = reports.startTest („TestName“);
Trieda Rozsah správy sa používa na generovanie správy HTML na ceste zadanej používateľom. Logický príznak označuje, či je potrebné prepísať existujúci prehľad alebo je potrebné vytvoriť nový. Hodnota „true“ je predvolená hodnota, čo znamená, že všetky existujúce údaje budú prepísané.
Trieda rozsahu sa používa na prihlásenie krokov testu do vygenerovanej správy HTML.
Vyššie uvedené triedy je možné použiť s často používanými vstavanými metódami, ktoré sú uvedené nižšie.
- startTest
- endTest
- Log
- spláchnuť
Metódy startTest a endTest sa používajú na vykonávanie predbežných podmienok a post-podmienok testovacieho prípadu, zatiaľ čo metóda log sa používa na zaznamenávanie stavu každého kroku testu do výslednej správy HTML. Metóda flush sa používa na vymazanie všetkých predchádzajúcich údajov v správe a na vytvorenie novej správy.
Stav testu môže byť ktorákoľvek z nasledujúcich hodnôt:
- PASS
- FAIL
- PRESKOČIŤ
- INFO
Syntax:
reports.endTest ();
test.log (LogStatus.PASS, „Test prešiel“);
test.log (LogStatus.FAIL, „Test zlyhal“);
test.log (LogStatus.SKIP, „Test vynechaný“);
test.log (LogStatus.INFO, „Informácie o teste“);
Metóda logovania má dva parametre, prvým parametrom je stav testu a druhým parametrom je správa, ktorá sa má vytlačiť do výslednej správy.
Ukážkový kód pre rozsah správ
Ďalej je uvedená postupnosť krokov na použitie rozsahu správ v selenovom webovom ovládači v Junite.
Krok 1:
Hlásenia o rozsahu je možné priamo použiť v selenium WebDriver importom súboru JAR - extendreports-java-2.41.2.jar, ktorý je možné stiahnute tu .
Po stiahnutí súboru ZIP rozbaľte obsah súboru ZIP do priečinka.
Krok 2:
Pomocou tejto možnosti pridajte súbory jar prítomné v súbore ZIP na cestu zostavenia projektu Cesta zostavy -> Konfigurovať cestu zostavy.
Krok č. 3:
Vytvorte novú triedu JAVA s nižšie uvedeným kódom pre Rozsah správ.
html5 otázky a odpovede na pohovory pre skúsených pdf
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(); } }
Vysvetlenie kódu
@BeforeClass:
Vyššie uvedený kód demonštruje použitie rozsahu správ. Vykonanie testovacieho prípadu začína metódou startTest, ktorá zahŕňa inicializáciu objektu Extent Reports. Parameter odovzdaný do objektu Extent Reports môže byť akákoľvek platná používateľom definovaná cesta.
Pre jednoduchosť príklad používa aktuálny adresár projektu na vygenerovanie výslednej správy HTML. Nasledujúci príkaz zahŕňa inicializáciu objektu ExtentTest s návratovou hodnotou metódy startTest.
@Test:
Testovacia trieda obsahuje nasledujúce kroky:
- Otvorte prehliadač Chrome pomocou tejto adresy URL https://www.google.com
- Po otvorení stránky overte jej názov s očakávanou hodnotou.
- Zaznamenajte stav testovacieho prípadu ako PASS / FAIL pomocou protokolu pomocou protokolu Extent Reports.
@Po hodine:
After class obsahuje kód na vykonanie postconditions testovacieho prípadu, ako je ukončenie testu pomocou metódy endTest a vyprázdnenie správy. Upozorňujeme, že prehľad sa nevygeneruje, ak sa nepoužije metóda flush ().
T je Súhrnná správa
Výsečový graf, grafická správa
Zachytiť snímku obrazovky v prehľadoch rozsahu
Screen Capture spolu s vykonaním testu pomôže testerovi pri ladení testovacieho skriptu, ak sa počas vykonávania testu vyskytnú nejaké problémy. Je však vhodné zachytiť snímku obrazovky iba ak testovací krok zlyhá, pretože obrázky budú spotrebovávať viac pamäte, ak sa zachytia pri každom testovacom kroku.
Screenshoty je možné zachytiť pre každý neúspešný krok pomocou nižšie uvedeného kódu.
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; }
Vysvetlenie kódu
Metóda snímania:
# 1) Metóda getScreenShotAs () sa používa na zachytenie snímky obrazovky aktuálnej inštancie WebDriver a jej uloženie do rôznych výstupných foriem.
Súbor scrFile = ((TakesSc Screenshot) ovládač) .getSc ScreenshotAs (OutputType.FILE);
#dva) Metóda getScreenShotAs vracia objekt súboru, ktorý je potrebné uložiť do premennej súboru. Upozorňujeme, že odovzdanie inštancie webového ovládača do nástroja Take Screenshot je povinné, ak chcete použiť túto metódu.
# 3) File Dest = new File (“src /../ ErrImages /” + System.currentTimeMillis () + “.png”);
# 4) Vyššie uvedené vyhlásenie vytvorí priečinok s názvom „ErrImages“ v priečinku „src“ a uloží názov súboru ako aktuálny systémový čas.
# 5) String errflpath = Dest.getAbsolutePath ();
FileUtils.copyFile (scrFile, Dest);
returnerrflpath;
# 6) Vyššie uvedené tvrdenia skopírujú chybové obrázky do cieľového priečinka.
Metóda denníka:
Metóda denníka používa vstavanú metódu addScreenCapture triedy Extent Test na získanie snímky obrazovky a jej pridanie do správy o rozsahu.
najlepšie rozšírenie na blokovanie reklám pre Chrome
test.log (LogStatus.FAIL, test.addScreenCapture (snímanie (ovládač)) + „Test zlyhal“);
Správa zaznamenaná v protokolovej metóde môže obsahovať podrobnú správu vrátane očakávaných a skutočných výsledkov na účely ladenia.
Výkon:
Záver
Rozsahové správy sú jedným z najlepších vstavaných spôsobov generovania prispôsobiteľných správ vo formáte HTML s príjemným používateľským rozhraním vo webovom ovládači selénu.
Je to knižnica otvoreného zdroja, ktorú je možné ľahko konfigurovať pomocou selénu, čo z nej robí najlepšiu voľbu pre automatizačných testerov.
Dúfam, že by ste teraz mali jasnú predstavu o rozsahu správ.
Odporúčané čítanie
- Výukový program Cucumber Selenium: Cucumber Java Selenium WebDriver Integration
- Úvod do softvéru Selenium WebDriver - Výučba selénu č. 8
- Implementácia nášho prvého skriptu WebDriver - výučba selénu WebDriver č. 10
- Časté otázky o seléne
- Ako zaobchádzať s upozorneniami alebo vyskakovacími oknami v ovládači Selenium WebDriver - selén - návod č
- Implicitné a explicitné čakanie v ovládači selénu WebDriver (typy čakania na selén)
- Ako spustiť selenový webový ovládač v rôznych populárnych prehliadačoch
- Celé nastavenie a inštalácia WebDriver s výučbou Eclipse - Selenium č. 9