Ранее мы публиковали статьи «Как создавать отчеты об экстентах Selenium» и «Создание отчетов об экстентах Selenium со скриншотами». Этот пост расскажет вам о том, «Как создавать отчеты об экстентах версии 4 в Selenium». Установите этот флажок, если у вас возникли проблемы с Extent Reports версии 3.
Мы все знаем, что отчеты Extent — это расширенный инструмент отчетности Selenium. Мы можем создавать красивые, интерактивные и подробные отчеты, используя структуру Extent. Мы можем добавить любую информацию (например, события, скриншоты, теги, устройства, авторов или любую другую важную информацию), которая важна для нас, чтобы создать информативный и потрясающий отчет.
Давайте двигаться вперед и посмотрим шаг за шагом пошаговое руководство по настройке отчетов об экстентах версии 4 в сценариях Selenium WebDriver.
Шаги по созданию отчетов об экстентах Selenium:
- Шаг 1: сначала создайте проект TestNG в eclipse< li>Шаг 2. Теперь загрузите файл JAR отчетов Extent версии 4 или, чтобы получить зависимость Extent Reports Maven 4.06, загрузите отчеты Extent. Зависимость
Вот экстент сообщает о зависимости maven версии 4.0.6
123456 | <!– https://mvnrepository.com/artifact/com.aventstack/extentreports –><dependency> <groupId>com.aventstack</groupId> <artifactId>extentreports</artifactId><version>4.0.6</version></dependency> |
- Шаг 4. Создайте класс Java, скажем, ExtentReportsClass, и добавьте следующий код
Давайте проверим заголовок и логотип на главной странице Google.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 | package myExtentReport;импорт java.io.File;импорт java.io.IOException;импорт java.text.SimpleDateFormat;импорт java.util.Date;импорт org.apache.commons.io.FileUtils;импорт org.openqa.selenium.* ;импорт org.openqa.selenium.chrome.ChromeDriver;импорт org.testng.Assert;импорт org.testng.ITestResult;импорт org.testng.annotations.*;импорт com.aventstack.extentreports.ExtentReports;импорт com.aventstack.extenreports .ExtentTest;импорт com.aventstack.extentreports.Status;импорт com.aventstack.extentreports.markuputils.ExtentColor;импорт com.aventstack.extentreports.markuputils.MarkupHelper;импорт com.aventstack.extentreports.reporter.ExtentHtmlReporter;импорт com.aventstack. экстентрепортс.репортер.конфигурация.тема;общедоступный класс ExtentReportsClass {общедоступный драйвер WebDriver;общедоступный ExtentHtmlReporter htmlReporter;общедоступный объем ExtentReports;общедоступный регистратор ExtentTest; @BeforeTestpublic void startReport() {htmlReporter = new ExtentHtmlReporter(System.getProperty(“user.dir”) + “/test-output/STMExtentReport.html”); //Создаем объект Extent Reportsextent = new ExtentReports(); extent.attachReporter(htmlReporter);extent.setSystemInfo(“Имя хоста”, “Материал для тестирования программного обеспечения”); экстент.setSystemInfo(“Среда”, “Производство”);extent.setSystemInfo(“Имя пользователя”, “Раджкумар СМ”);htmlReporter.config().setDocumentTitle(“Здесь находится заголовок отчета”); //Имя отчетаhtmlReporter.config().setReportName(“Здесь находится имя отчета”); //Dark ThemehtmlReporter.config().setTheme(Theme.STANDARD);}//Этот метод предназначен для захвата снимка экрана и возврата пути к снимку экрана.public static String getScreenShot(драйвер WebDriver, String screenshotName) throws IOException {String dateName = new SimpleDateFormat(“yyyyMMddhhmmss”).format(new Date());TakesScreenshot ts = (TakesScreenshot) driver;File source = ts.getScreenshotAs(OutputType.FILE);//после выполнения вы могли увидеть папку “FailedTestsScreenshots” под src folderString назначение = System.getProperty(“user.dir”) + “/Screenshots/” + screenshotName + dateName + “.png”;File finalDestination = new File(destination);FileUtils.copyFile(source, finalDestination);return назначение;} @BeforeMethodpublic void setup() {System.setProperty(“webdriver.chrome.driver”, “C://AutomationFramework//Drivers//chromedriver.exe”);driver = new ChromeDriver();driver.manage( ).window().maximize();driver.get(“https://www.google.com/”);}@Testpublic void verifyTitle() {logger = extension.cre ateTest(“Для проверки названия Google”);Assert.assertEquals(driver.getTitle(),”Google”);}@Testpublic void verifyLogo() {logger = extension.createTest(“Для проверки логотипа Google”);boolean img = driver.findElement(By.xpath(“//img[@id='hplogo']”)).isDisplayed();logger.createNode(“Изображение присутствует”);Assert.assertTrue(img);logger.createNode( «Изображение отсутствует»); Assert.assertFalse(img);}@AfterMethodpublic void getResult(ITestResult result) throws Exception{if(result.getStatus() == ITestResult.FAILURE){//MarkupHelper используется для отображения вывода в разных цветахlogger.log(Status.FAIL, MarkupHelper.createLabel(result.getName() + “- Test Case Failed”, ExtentColor.RED)); logger.log(Status.FAIL, MarkupHelper.createLabel(result.getThrowable()) + ” – Test Case Failed”, ExtentColor.RED));//Чтобы захватить путь к снимку экрана и сохранить путь к снимку экрана в строке “screenshotPath”//Мы передаем путь, захваченный этим методом, в экстентные отчеты, используя Метод “logger.addScreenCapture”.//String Scrnsho t=TakeScreenshot.captuerScreenshot(driver,”TestCaseFailed”);String screenshotPath = getScreenShot(driver, result.getName());//Чтобы добавить его в экстент reportlogger.fail(“Снэпшот Test Case Failed ниже ” + logger. addScreenCaptureFromPath(screenshotPath));}else if(result.getStatus() == ITestResult.SKIP){logger.log(Status.SKIP, MarkupHelper.createLabel(result.getName() + “- Тестовый пример пропущен”, ExtentColor.ORANGE ));}else if(result.getStatus() == ITestResult.SUCCESS){logger.log(Status.PASS, MarkupHelper.createLabel(result.getName()+” Тестовый пример ПРОЙДЕН”, ExtentColor.GREEN));} driver.quit();} @AfterTestpublic void endReport() {extent.flush();}} |
extent-config.xml:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 | <?xml version=”1.0″ encoding=”UTF-8″?><extentreports> <configuration> <!– report theme –> <!– стандартный, темный –> <theme>standard</theme> <!– кодировка документа –> <!– по умолчанию используется UTF-8 –> <encoding>UTF-8</encoding> < ;!– протокол для скрипта и таблиц стилей –> <!– по умолчанию https –> <protocol>https</protocol> <!– название документа –> <documentTitle>ExtentReports 2.0</documentTitle> <!– название отчета – отображается в верхней части навигации –> <reportName></reportName> <!– заголовок отчета – отображается в верхней части навигации после заголовка отчета — > <reportHeadline>Automation Report</reportHeadline> <!– глобальное переопределение формата даты –> <!– по умолчанию: гггг-ММ-дд –> <dateFormat>гггг-ММ-дд</dateFormat > <!– глобальное переопределение формата времени –> <!– по умолчанию ЧЧ:мм:сс –> <timeFormat>HH:mm:ss</timeFormat> <!– custom javascript –> <scripts> <![CDATA[ $(document).ready(function() { }); ]]> </scripts> <!– пользовательские стили –> <styles> <![CDATA[ ]]> </styles> </configuration></extentreports> |
Используя этот внешний XML-файл (extent-config.xml), мы можем изменить такие детали, как тема отчета (стандартная или темная), заголовок отчета, заголовок документа и т. д.
Вывод консоли:
1234 | ======================================== ====== SuiteTotal тестов по умолчанию: 2, сбоев: 1, пропусков: 0============================== ================ |
Обновите проект после выполнения указанного выше файла ExtentReportsClass.java. Вы можете найти файл HTML с именем «STMExtentReport.html» в папке вывода теста. Скопируйте расположение файла STMExtentReport.html и откройте его в любом браузере. Вы можете увидеть красивые HTML-отчеты с высоким форматированием, как показано ниже.
Ошибка теста:
Тестовый пример Пройдено:
Панель управления:
Популярные сообщения с вопросами для интервью:
- Вопросы для интервью по Selenium
- Вопросы для интервью с TestNG
- Вопросы для интервью с Protractor
- Вопросы для интервью по Automation Framework
- Как объяснить Selenium Framework На собеседовании
- Где вы применяли концепцию ООП в Selenium Framework
- Вопросы на собеседовании по Java
- Вопросы на собеседование по тестированию API
- Вопросы на собеседование по Agile
- Вопросы на собеседование по SQL
- Вопросы на собеседование по тестированию программного обеспечения
- JIRA Вопросы для интервью
- Расскажите о себе Вопрос для интервью
- Каковы ваши сильные стороны Вопрос для интервью
- Каковы ваши слабые стороны Вопрос для интервью
Я подобрал для вас несколько других интересных сообщений.
- < li>Почему драйвер WebDriver = новый FirefoxDriver();
- Архитектура Selenium WebDriver — подробный пост
- Selenium Continuou s Интеграция – Подробное описание
- Тестирование файлов cookie — Полное руководство
- Изучите тестирование API за 10 минут
TAG: qa