guide generate extent reports selenium webdriver
Как да генерирам обширни отчети в Selenium WebDriver:
Селенът предоставя вградени отчети, използвайки рамки като JUnit и TestNG.
Въпреки че вградените отчети предоставят информация за стъпките, които се изпълняват като част от тестовия случай, те се нуждаят от повече персонализиране, за да бъдат споделени с всички основни заинтересовани страни по проекта.
Extent Reports е персонализиран HTML отчет, разработен от Anshoo Arora, който може да бъде интегриран в Selenium WebDriver с помощта на JUnit и TestNG рамки.
Този урок ще ви даде пълно ръководство стъпка по стъпка за това как да генерирате обширни отчети в Selenium WebDrive с примерни кодове.
По-долу е моментната снимка на вградения отчет, предоставен от TestNG framework:
Extent Reports предлагат няколко предимства в сравнение с вградените отчети, които се генерират чрез JUnit и TestNG, като представяне на кръгова диаграма, тестово генериране на отчети, добавяне на скрийншотове и т.н., на всяка тестова стъпка и представителен потребителски интерфейс, който може да бъде споделен с всички заинтересовани страни по проекта.
По-долу е моментната снимка на примерен обхват на отчета в представяне на кръгова диаграма
(Забележка:Щракнете върху всяко изображение за увеличен изглед)
Какво ще научите:
- Предимства на използването на отчети за обхвата
- Използване на Extent Reports в Selenium Webdriver
- Примерен код за обширни отчети
- Резюме на теста
- Графичен отчет за кръгова диаграма
- Заснемане на екранна снимка в отчети за обхвата
- Заключение
- Препоръчително четене
Предимства на използването на отчети за обхвата
Има няколко предимства на Extent Reports и малко от тях са разгледани по-долу.
- Персонализиращ се HTML отчет с поетапно представяне и кръгова диаграма.
- Показва времето, необходимо за изпълнение на тестовия случай в отчета.
- Всяка тестова стъпка може да бъде свързана с екранна снимка.
- Множество тестови случаи, изпълнявани в рамките на един пакет, могат да бъдат проследени лесно.
- Може лесно да се интегрира с рамки TestNG и JUnit.
Използване на Extent Reports в Selenium Webdriver
Докладите за обхвата съдържат два основни класа, които се използват често.
- ExtentReports клас
- ExtentTest клас
Синтаксис:
ExtentReports отчети = нови ExtentReports („Път на директорията за съхраняване на резултантния HTML файл“, true / false);
как да отворя SWF файлове на Windows 7
ExtentTest test = reports.startTest (“TestName”);
Клас Extent Reports се използва за генериране на HTML отчет за посочения от потребителя път. Булевият флаг показва дали трябва да се презапише съществуващия отчет или да се създаде нов отчет. Стойността ‘true’ е стойността по подразбиране, което означава, че всички съществуващи данни ще бъдат заменени.
Extent Test class се използва за регистриране на тестови стъпки в генерирания HTML отчет.
Горните класове могат да се използват с често използваните вградени методи, посочени по-долу.
- startTest
- endTest
- Влезте
- флъш
Методите startTest и endTest се използват за изпълнение на предварителни условия и условия след теста, докато методът log се използва за регистриране на състоянието на всяка тестова стъпка в резултантния HTML отчет. Методът на промиване се използва за изтриване на всички предишни данни в отчета и създаване на нов отчет.
Състояние на теста може да бъде всяка от следните стойности:
- ПРОХОД
- ФАЙЛ
- СКИП
- ИНФО
Синтаксис:
report.endTest ();
test.log (LogStatus.PASS, ”Тестът премина”);
test.log (LogStatus.FAIL, „Тестът е неуспешен“);
test.log (LogStatus.SKIP, ”Тестът е пропуснат”);
test.log (LogStatus.INFO, ”Тестова информация”);
Методът на регистрацията включва два параметъра, първият параметър е състоянието на теста, а вторият параметър е съобщението, което се отпечатва в резултантния отчет.
Примерен код за обширни отчети
Посочените по-долу са последователността от стъпки за използване на Extent Reports в Selenium Webdriver в Junit.
Етап 1:
Обхватните отчети могат да се използват директно в селен WebDriver чрез импортиране на JAR файла - extereports-java-2.41.2.jar, който може да бъде изтеглени тук .
След като ZIP файлът бъде изтеглен, извлечете съдържанието на ZIP файла в папка.
Стъпка 2:
изпълнение на двоично дърво в изходния код на c ++
Добавете jar файловете в ZIP файла към пътя за изграждане на проекта, като използвате опцията Build Path -> Конфигуриране на Build Path.
Стъпка # 3:
Създайте нов клас JAVA с кода по-долу за 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(); } }
Обяснение на кода
@BeforeClass:
Горният код демонстрира използването на Extent Reports. Изпълнението на тестовия случай започва с метода startTest, който включва инициализация на обекта Extent Reports. Параметърът, предаден на обекта Extent Reports, може да бъде всеки валиден дефиниран от потребителя път.
За простота, примера използва текущата директория на проекта, за да генерира резултантния HTML отчет. Следващият израз включва инициализация на обекта ExtentTest с връщаната стойност на метода startTest.
@Тест:
Тестовият клас включва следните стъпки:
- Отворете браузъра Chrome с този URL адрес https://www.google.com
- Проверете заглавието на страницата с очакваната стойност, след като страницата се отвори.
- Регистрирайте състоянието на тестовия случай като PASS / FAIL, използвайки метода на регистъра на Extent Reports.
@След часовете:
След като класът включва кода за изпълнение на последващите условия на тестовия случай, като завършване на теста с помощта на метода endTest и изчистване на отчета. Моля, обърнете внимание, че отчетът няма да бъде генериран, ако не се използва методът 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) Методът getScreenShotAs () се използва за заснемане на екранната снимка на текущия екземпляр на WebDriver и съхраняването му в различни изходни форми.
Файл scrFile = ((TakesScreenshot) драйвер) .getScreenshotAs (OutputType.FILE);
# две) методът getScreenShotAs връща файлов обект, който трябва да се съхранява във файлова променлива. Моля, обърнете внимание, че прехвърлянето на екземпляр на уеб драйвер на Take Screenshot е задължително, ако искате да използвате метода.
# 3) Дестинация на файла = нов файл (“src /../ ErrImages /” + System.currentTimeMillis () + “.png”);
# 4) Горното изявление създава папка с име ‘ErrImages’ в папката ‘src’ и съхранява името на файла като текущото системно време.
# 5) Низ errflpath = Dest.getAbsolutePath ();
FileUtils.copyFile (scrFile, Dest);
returnnerrflpath;
# 6) Горните изявления копират изображенията за грешки в целевата папка.
Метод на регистрация:
Входният метод използва вградения метод, addScreenCapture на Extent Test клас, за да извлече екранната снимка и да я добави към отчета за обхвата.
test.log (LogStatus.FAIL, test.addScreenCapture (улавяне (драйвер)) + „Тестът е неуспешен“);
Съобщението, записано в метода на дневника, може да включва подробно съобщение, включително очаквани и действителни резултати с цел отстраняване на грешки.
Изход:
Заключение
Extent Reports са един от най-добрите вградени начини за генериране на персонализируеми HTML отчети с приятен потребителски интерфейс в уеб драйвера на Selenium.
Това е библиотека с отворен код, която може лесно да се конфигурира със Selenium, като по този начин я прави най-добрият избор за тестери за автоматизация.
Надявам се, че бихте имали ясна представа за Extent Reports сега.
Препоръчително четене
- Урок за краставици селен: Интеграция на краставица Java Selenium WebDriver
- Въведение в Selenium WebDriver - Урок № 8 за селен
- Внедряване на нашия първи скрипт за WebDriver - Урок № 10 за Selenium WebDriver
- Често задавани въпроси за селен
- Как да боравим със сигнали / изскачащи прозорци в Selenium WebDriver - Урок за селен # 16
- Неявно и явно чакане в Selenium WebDriver (Видове чакане на селен)
- Как да стартирам Selenium WebDriver в различни популярни браузъри
- Цялата настройка и инсталиране на WebDriver с Eclipse - Урок № 9 за селен