guide generate extent reports selenium webdriver
Како се генеришу опсежни извештаји у програму Селениум ВебДривер:
Селениум пружа уграђене извештаје користећи оквире као што су ЈУнит и ТестНГ.
Иако уграђени извештаји пружају информације о корацима који се извршавају као део тест случаја, њима је потребно више прилагођавања да би се делили са свим главним заинтересованим странама.
Ектент Репортс је прилагодљиви ХТМЛ извештај који је развио Ансхоо Арора и који се може интегрисати у Селениум ВебДривер помоћу ЈУнит и ТестНГ оквира.
Ово упутство ће вам пружити потпун корак по корак водич о томе како генерисати екстензивне извештаје у програму Селениум ВебДриве са примерима кодова.
Испод је снимак уграђеног извештаја који пружа ТестНГ фрамеворк:
Опсежни извештаји нуде неколико предности у поређењу са уграђеним извештајима који се генеришу путем ЈУнит-а и ТестНГ-а, као што су приказ тортних графикона, генерирање извештаја у кораку, додавање снимака екрана итд., У сваком кораку теста и презентабилан кориснички интерфејс са којим се може делити све заинтересоване стране у пројекту.
Испод је снимак узорка Извештаја о обиму у приказу тортних графикона
(Белешка:Кликните на било коју слику за увећани приказ)
Шта ћете научити:
- Предности употребе екстензивних извештаја
- Коришћење екстензивних извештаја у програму Селениум Вебдривер
- Пример кода за опсежне извештаје
- Резиме теста
- Графички извештај тортног дијаграма
- Снимите снимак екрана у извештајима опсега
- Закључак
- Препоручено читање
Предности употребе екстензивних извештаја
Постоји неколико предности Извештаја о опсегу, а о неколико њих се говори у наставку.
- Прилагодљив ХТМЛ извештај са степенастим и тортним приказом.
- Приказује време потребно за извршење тест случаја у извештају.
- Сваки тест корак може бити повезан са снимком екрана.
- Вишеструки тест случајеви у оквиру једног скупа могу се лако пратити.
- Може се лако интегрисати са ТестНГ и ЈУнит оквирима.
Коришћење екстензивних извештаја у програму Селениум Вебдривер
Извештаји обима садрже две главне класе које се често користе.
- ЕктентРепортс класа
- Класа ЕктентТест
Синтакса:
ЕктентРепортс извештаји = нови ЕктентРепортс („Пут директоријума за чување резултујуће ХТМЛ датотеке“, тачно / нетачно);
Водич за секире Мицрософт Динамицс за почетнике
ЕктентТест тест = репортс.стартТест (“ТестНаме”);
Класа Ектент Репортс се користи за генерисање ХТМЛ извештаја на путањи коју је одредио корисник. Логичка застава означава да ли треба преписати постојећи извештај или треба направити нови извештај. Вредност „труе“ је подразумевана вредност, што значи да ће сви постојећи подаци бити преписани.
Екстензивна класа теста се користи за пријављивање корака теста у генерисани ХТМЛ извештај.
Горе наведене класе могу се користити са често коришћеним уграђеним методама које су наведене у наставку.
- стартТест
- ендТест
- Пријава
- испирање
методе стартТест и ендТест користе се за извршавање предуслова и пост-услова тест случаја, док се метода дневника користи за евидентирање статуса сваког корака теста у резултујућем ХТМЛ извештају. Метода испирања користи се за брисање свих претходних података у извештају и креирање новог извештаја.
Статус теста може бити било која од следећих вредности:
- ПАСС
- ФАИЛ
- СКИП
- ИНФО
Синтакса:
репорт.ендТест ();
тест.лог (ЛогСтатус.ПАСС, „Тест је положен“);
тест.лог (ЛогСтатус.ФАИЛ, „Тест није успео“);
тест.лог (ЛогСтатус.СКИП, ”Тест прескочен”);
тест.лог (ЛогСтатус.ИНФО, ”Информације о тестирању”);
Метода евидентирања узима два параметра, први параметар је статус теста, а други параметар је порука која се штампа у резултујућем извештају.
Пример кода за опсежне извештаје
Доље поменути су редоследи корака за коришћење екстензивних извештаја у програму Селениум Вебдривер у Јуниту.
иоутубе у мп3 дуже од 30 минута
Корак 1:
Опсежни извештаји се могу директно користити у селениум ВебДривер увозом ЈАР датотеке - ектерепортс-јава-2.41.2.јар која се може преузето овде .
Када се ЗИП датотека преузме, извуците садржај ЗИП датотеке у фасциклу.
Корак 2:
Додајте јар датотеке присутне у ЗИП датотеци у путању израде пројекта помоћу опције Буилд Патх -> Конфигуришите Буилд Патх.
Корак # 3:
Направите нову ЈАВА класу са доњим кодом за Ектент Репортс.
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(); } }
Објашњење кода
@Пре наставе:
Горњи код демонстрира употребу извештаја Ектент. Извршење тест случаја започиње методом стартТест, која укључује иницијализацију објекта Ектент Репортс. Параметар прослеђен објекту Ектент Репортс може бити било која ваљана кориснички дефинисана путања.
Ради једноставности, пример користи тренутни директоријум пројекта за генерисање резултујућег ХТМЛ извештаја. Следећи израз укључује иницијализацију објекта ЕктентТест повратном вредношћу методе стартТест.
@Тест:
Тест класа укључује следеће кораке:
- Отворите Цхроме прегледач са овим УРЛ-ом хттпс://ввв.гоогле.цом
- Потврдите наслов странице са очекиваном вредношћу када се страница отвори.
- Забележите статус тест случаја као ПАСС / ФАИЛ користећи метод дневника Ектент Репортс.
@После часа:
Након што класа укључује код за извршавање постуслова тест случаја, као што је завршавање теста методом ендТест и пражњење извештаја. Имајте на уму да се извештај неће генерисати ако се не користи метода флусх ().
како додати вредности низу јава
Т. је Сумарни извештај
Графички извештај тортног дијаграма
Снимите снимак екрана у извештајима опсега
Снимање екрана заједно са извршењем теста помоћи ће испитивачу у отклањању грешака у тест скрипти ако се појаве било какви проблеми током извршавања теста. Међутим, препоручљиво је да снимити снимак екрана само ако тестни корак не успе, јер ће слике заузети више меморије ако су снимљене на сваком тестном кораку.
Снимке екрана могу се снимити за сваки неуспели корак помоћу доњег кода.
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; }
Објашњење кода
Метод хватања:
# 1) метода гетСцреенСхотАс () користи се за снимање снимка екрана тренутне инстанце ВебДривер и чување у различитим излазним облицима.
Датотека сцрФиле = ((ТакесСцреенсхот) управљачки програм) .гетСцреенсхотАс (ОутпутТипе.ФИЛЕ);
#два) гетСцреенСхотАс метода враћа објект датотеке који треба сачувати у променљивој датотеке. Имајте на уму да је пребацивање инстанце веб управљачког програма на Снимак екрана обавезно ако желите да користите методу.
# 3) Дестинација датотеке = нова датотека (“срц /../ ЕррИмагес /” + Систем.цуррентТимеМиллис () + “.пнг”);
# 4) Горња изјава креира директоријум под називом „ЕррИмагес“ унутар директоријума „срц“ и чува име датотеке као тренутно системско време.
# 5) Стринг еррфлпатх = Дест.гетАбсолутеПатх ();
ФилеУтилс.цопиФиле (сцрФиле, Дест);
ретурннеррфлпатх;
# 6) Горње изјаве копирају слике грешака у одредишну фасциклу.
Метод евиденције:
Метода евиденције користи уграђену методу, аддСцреенЦаптуре класе Ектент Тест да би преузела снимак екрана и додала га извештају Ектент.
тест.лог (ЛогСтатус.ФАИЛ, тест.аддСцреенЦаптуре (снимање (управљачки програм)) + „Тест није успео“);
Порука забележена методом дневника може да садржи детаљну поруку, укључујући очекиване и стварне резултате у сврху отклањања грешака.
Излаз:
Закључак
Извештаји у опсегу су један од најбољих уграђених начина за генерисање прилагодљивих ХТМЛ извештаја са пријатним корисничким интерфејсом у управљачком програму Селениум.
То је библиотека отвореног кода која се лако може конфигурисати помоћу селена, чинећи је тако најбољим избором за тестере аутоматизације.
Надам се да бисте сада имали јасну представу о извештајима о опсегу.
Препоручено читање
- Водич за краставац селениј: Интеграција Јава Селениум ВебДривер краставца
- Увод у Селениум ВебДривер - Водич за селен бр. 8
- Примена наше прве скрипте за ВебДривер - Водич бр. 10 за Селениум ВебДривер
- Честа питања о селену
- Како се рукује упозорењима / искачућим прозорима у програму Селениум ВебДривер - Водич за селен # 16
- Имплицитно и експлицитно чекање у Селениум ВебДривер-у (врсте селенијских чекања)
- Како покренути Селениум ВебДривер у различитим популарним прегледачима
- Целокупно подешавање и инсталирање ВебДривер-а помоћу програма Ецлипсе - Водич за селен бр. 9