КАК СОЗДАВАТЬ ОБЪЕМНЫЕ ОТЧЕТЫ В SELENIUM WEBDRIVER [ОБНОВЛЕНИЕ 2022]

Руководство по созданию отчетов Extent в Selenium WebDriver</strong> т. е. Extent Spark Reporter (Extent Reports Version 5)

Содержание

В этой статье мы видим один из самых популярных и широко используемых Selenium Reporting Tools (Extent Reports). Selenium Результаты можно увидеть с помощью различных инструментов Selenium Reporting. Вот некоторые из инструментов создания отчетов Selenium WebDriver.

  • Создание отчетов Selenium TestNG
  • Создание отчетов Selenium JUnit
  • Отчеты по экстентам Selenium (самый популярный отчет)

КАК СОЗДАТЬ ОТЧЕТЫ ПО ЭКСТЕНТАМ В SELENIUM WEBDRIVER [ОБНОВЛЕНИЕ 2022]

Что такое отчеты по экстентам?

ExtentReports — это библиотека отчетов с открытым исходным кодом, используемая для автоматизации тестирования Selenium. Экстентные отчеты становятся первым выбором тестировщиков автоматизации Selenium, хотя Selenium поставляется со встроенными отчетами с использованием таких фреймворков, как JUnit и TestNG. С помощью экстентных отчетов вы можете предложить более обширный и глубокий взгляд на выполнение ваших сценариев автоматизации. Итак, давайте посмотрим, почему тестировщики автоматизации предпочитают экстентные отчеты другим.

КАК СОЗДАТЬ ОБЪЕМ ОТЧЕТОВ В SELENIUM WEBDRIVER [ОБНОВЛЕНИЕ 2022]

Преимущества расширенных отчетов

Некоторые из преимуществ расширенных отчетов заключаются в следующем:

  • Отчеты об объемах более настраиваемые, чем другие.
  • Создание снимков экрана на каждом этапе тестирования
  • Отображает в отчете время, затраченное на выполнение тестового набора.
  • Extent API может создавать более интерактивные отчеты, панель мониторинга, графическое представление и отчеты по электронной почте
  • Вы можете легко отслеживать выполнение нескольких тестовых наборов, которые происходят в рамках одного люкс.
  • Его можно легко интегрировать с такими фреймворками, как JUnit, NUnit и TestNG

Использование отчетов об экстентах в Selenium Webdriver< /h2>

Отчеты Extent в Selenium содержат два основных класса, которые часто используются.

  • класс ExtentReports
  • класс ExtentTest

Синтаксис

123

ExtentReports reports = new ExtentReports(“Путь к каталогу для хранения результирующего файла HTML”, true/false); Тест ExtentTest = reports.startTest(“Имя_теста”);

Класс ExtentReports используется для создания отчетов в формате HTML на основе пути, указанного пользователем. Логический флаг определяет, должен ли существующий отчет быть перезаписан или должен быть сгенерирован новый отчет. Значение «true» — это значение по умолчанию, означающее, что все существующие данные будут перезаписаны.

Класс ExtentTest используется для регистрации этапов тестирования в ранее сгенерированном HTML-отчете.

Оба приведенных выше класса можно использовать с часто используемые встроенные методы, перечисленные ниже.

  • startTest: используется для выполнения предварительных условий тестового примера
  • endTest: используется для выполнения постусловий тестового набора
  • Log: используется для регистрации состояния каждого шага теста в результирующем HTML-отчете.
  • Flush: используется для стереть все предыдущие данные в соответствующем отчете и создать полностью новый отчет

Статус теста может быть обозначен следующими значениями:

  • ПРОШЕЛ
  • НЕ ПРОЙДЕН
  • ПРОПУСТИТЬ
  • ИНФОРМАЦИЯ

Синтаксис

12345

reports.endTest(); test.log(LogStatus.PASS, “Тест пройден”); test.log(LogStatus.FAIL, “Тест не пройден”); test.log(LogStatus.SKIP, “Тест пропущен”); test.log(LogStatus.SKIP, “Тест пройден”); log(LogStatus.INFO,”Test Info”);

Метод Log принимает два параметра, первый из которых является статусом теста, а второй — сообщением, которое будет напечатано в результирующем отчете.

Создание отчетов по экстентам в Selenium WebDriver

Основная цель этой статьи — показать Extent Reports. Это самый популярный и широко используемый инструмент Selenium Reporting на современном рынке.

Давайте посмотрим, как создавать отчеты по экстентам в Selenium WebDriver.

Версия Extent Reports 4. Предыдущая версия [2020]

Необходимо установить необходимые компоненты для создания отчетов

  1. Java – Установите и настройте Java
  2. TestNG. XML – Позволяет настраивать HTML-отчет

Шаги для создания расширенных отчетов

Шаг 1: во-первых, создайте проект TestNG. в eclipse

Шаг 2. Загрузите файлы библиотеки экстентов (JAR-файл Extent reports версии 5 — Extent Spark Reporter) и добавьте загруженные файлы библиотеки в свой проект

Если вы используете pom. xml, вы можете добавить зависимость Extent Reports Maven 5.0.9 в свой проект maven.

<dependency>
<groupId>com.aventstack</groupId>< br><artifactId>extenreports</artifactId>
<version>5.0.9</version>
</dependency>

Шаг 3: Создайте класс Java, скажем, «ExtentReportsClass» и добавьте в него следующий код

Непрерывная интеграция Selenium с Jenkins [Maven – Git – Jenkins]

Код для проверки названия и логотипа на главной странице Google.

Дано четкое объяснение в разделе комментариев в самой программе. Пожалуйста, просмотрите его, чтобы понять процесс.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104

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.SkipException;импортировать org.testng.аннотации.*;импортировать com.aventstack.extentreports.ExtentReports;импортировать com.aventstack.extentreports.ExtentTest;импортировать com.aventstack.extentreports.Status;импортировать com.aventstack.extenreports. markuputils.ExtentColor;импорт com.aventstack.extentreports.markuputils.MarkupHelper;импорт com.aventstack.extentreports.reporter.ExtentSparkReporter;импорт com.aventstack.extentreports.reporter.configuration.ChartLocation;импорт com.aventstack.extenreports.reporter.configuration. Theme;public class ExtentReportsClass {public WebDriver driver;public ExtentSparkReporter spark;public ExtentReports extension;public ExtentTest logger;@BeforeTestpublic void startReport() {         //Создать объект Extent Reportsextent = new ExtentReports(); spark = new ExtentSparkReporter(System.getProperty(“user.dir”) + “/test-output/STMExtentReport.html”);extent.attachReporter(spark);extent.setSystemInfo(“Имя хоста”, “SoftwareTestingMaterial”); экстент.setSystemInfo(“Окружающая среда”, “Производство”); extent.setSystemInfo(“Имя пользователя”, “Раджкумар СМ”); //Имя отчетаpark.config().setReportName(“Имя отчета приходит сюда”); //Dark Themespark.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.createTest( “Для проверки названия Google”);Assert.assertEquals(driver.getTitle(),”Google”);}@Testpublic void verifyLogo() {logger = extension.createTest(“Для проверки логотипа Google”);boolean img = driver. findElement(By.xpath(“//img&#91;@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() + “- Ошибка теста”, ExtentColor.RED)); ) + “- 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>        < !– заголовок отчета – отображается в верхней части навигации после заголовка отчета –>    <Заголовок отчета>Отчет об автоматизации</Заголовок отчета>        <!– Глобальное переопределение формата даты –>    <!– по умолчанию – гггг-ММ- дд –>    <dateFormat>yyyy-MM-dd</dateFormat>        <!– глобальное переопределение формата времени –><!– по умолчанию ЧЧ:мм:сс –>    <timeFormat>ЧЧ:мм:сс</timeFormat>        <!– пользовательский javascript –>    <scripts>      <![CDATA[        $( document).ready(function() {                  }); ]]>    </scripts>        <!– пользовательские стили –>    <styles>      <![CDATA[              ]]>    </styles>  </configuration></extentreports>

<р>С помощью этого внешнего XML-файла (extent-config.xml) мы можем изменить такие детали, как тема отчета (стандартная или темная), заголовок отчета, заголовок документа и т. д.,

вывод в консоль:

=============================================
Набор по умолчанию
Всего выполнено тестов: 2, сбоев: 1, пропусков: 0 ============================ ================

Обновите проект после выполнения вышеуказанного файла ExtentReportsClass.java. Вы можете найти HTML-файл с именем «STMExtentReport.html» в папке выходных данных теста. Скопируйте расположение STMExtentReport.htmlфайл и откройте его в любом браузере. Вы можете увидеть красивые HTML-отчеты с высоким форматированием, как показано ниже.

Пояснение кода

i. Импортированы два класса ExtentReports и ExtentTest.

ExtentReports: Используя этот класс, мы задаем путь, по которому должны создаваться наши отчеты.

ExtentTestиспользуя этот класс, мы можем создавать журналы в отчете. .

ii. Взял два метода с @Test, например verifyTitle, VerifyLogo. другой метод startReport с аннотацией @BeforeTest, другой метод endReport с @AfterTest , другой метод getResult с аннотацией @AfterMethod и другой метод setup с аннотацией @BeforeMethod.

Здесь я намерен создать отчет со всеми тремя типами результатов, такими как «Пройдено» и «Не пройдено». Расширенные отчеты

iii. Используемый объект класса ExtentReports  (т. е. extent) в методе startReport, который был назначен аннотации @BeforeTest для создать отчет в формате HTML по нужному пути

iv. Используемый объект ExtentTestclass (т. е. logger) в остальных методах для записи журналов в отчет.

v. Используется класс ITestResult в @AfterMethod для описания результатов теста.

Extent Spark Reporter | Графический отчет с круговыми диаграммами (примеры отчетов)

Тестовые примеры

КАК СОЗДАТЬ ОБЪЕМНЫЕ ОТЧЕТЫ В SELENIUM WEBDRIVER [ОБНОВЛЕНИЕ 2022]

Исключения

КАК СОЗДАТЬ ЭКСТЕНТ ОТЧЕТЫ В SELENIUM WEBDRIVER [ОБНОВЛЕНИЕ 2022]

Теги

КАК СОЗДАТЬ ОБЪЕМНЫЕ ОТЧЕТЫ В SELENIUM WEBDRIVER [ОБНОВЛЕНИЕ 2022]

Устройство

КАК СОЗДАТЬ ОБЪЕМНЫЕ ОТЧЕТЫ В SELENIUM WEBDRIVER [ОБНОВЛЕНИЕ 2022]

Автор

КАК СОЗДАТЬ ОБЪЕМНЫЕ ОТЧЕТЫ В SELENIUM WEBDRIVER [ОБНОВЛЕНИЕ 2022]

Графический отчет

КАК СОЗДАТЬ ОБЪЕМНЫЕ ОТЧЕТЫ В SELENIUM WEBDRIVER [ОБНОВЛЕНИЕ 2022]

Источник изображений: ExtentReports.com

Посмотрите видео ниже, чтобы увидеть «Полное руководство по Extent Reports «

Если вам понравилось это видео, подпишитесь на наш канал YouTube, чтобы увидеть больше видеоуроков.

Подведение итогов

Создание отчетов является ключевой частью любой системы автоматизации. Отчеты дают представление о состоянии автоматических тестов и помогают определить области, в которых требуются улучшения.

Существует множество различных вариантов создания отчетов, но одним из самых популярных является использование расширенных отчетов.

Extent reports — это библиотека с открытым исходным кодом, которая создает настраиваемые отчеты в формате HTML. Таким образом, Selenium Automation Testers лучше всего подходит для создания отчетов о тестировании и обмена ими с заинтересованными сторонами в организации.

Помимо описания всех выполненных тестов Extent Reports также предоставляет круговые диаграммы, которые визуально суммируют тестовые сценарии.< blockquote class=wp-block-quote>

Вопросы для интервью с Test Automation Framework

Если вы не являетесь постоянным читателем SoftwareTestingMaterial.com, я настоятельно рекомендую вам подписаться на бесплатную рассылку новостей по электронной почте, используя приведенную ниже форму.

Часто задаваемые вопросы

Можем ли мы настроить отчеты по экстентам?

Да, мы можем настроить отчеты по экстентам, например изменить заголовок, изменить тему на темную, добавить скриншоты, включить логотип и другое

Как изменить заголовок в отчетах по экстентам?

Откройте файл «extent-config.xml» и добавьте приведенный ниже код.

Измените заголовок браузера между 'documentTitle' открытый и закрытый теги.

Измените заголовок отчета между 'reportName' открытым и закрытым тегами.

< strong>Как изменить тему на темную тему?

Откройте файл XML и добавьте приведенный ниже код в узел конфигурации.

Измените тему как 'темную' < /strong>между открытыми и закрытыми тегами 'theme' .

Как устранить ошибку протокола HTTPS в отчетах по экстентам?

Иногда HTTPS протокол таблиц стилей и файлов сценариев блокируется из-за сетевых ограничений в организациях.

В этом случае мы можем добавить приведенный ниже код в узел конфигурации вашего XML, чтобы убедиться, что все скрипты и таблицы стилей соответствуют протоколу HTTP

Измените текст на 'http' между 'protocol' открытым и закрытым тегами. p>

Зачем нужны отчеты по экстентам?

Отчеты по экстентам – это простая в использовании библиотека, позволяющая пользователям создавать собственные отчеты, независимо от того, относятся ли они к тестовым запускам или другим проектам.

Являются ли отчеты по экстентам частью TestNG?

Отчеты по экстентам основаны на HTML, настраиваемые отчеты, которые поставляются с Selenium с использованием платформы TestNG. Это не только позволяет клиентам создавать множество отчетов на основе данных, но также генерировать документы и потоки XML, которые могут обрабатывать сложные действия и принимать важные решения.
TAG: qa

От QA genius

Adblock
detector