atesting.ru Блог Как сгенерировать экстент-отчеты в Selenium Webdriver

Как сгенерировать экстент-отчеты в Selenium Webdriver

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

  • Создание отчетов Selenium TestNG
  • Создание отчетов Selenium JUnit
  • Отчеты Selenium Extent

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

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

 Как сгенерировать отчеты по экстентам в Selenium Webdriver

Преимущества экстента Отчеты:

Ниже перечислены некоторые преимущества отчетов с расширениями.

  • Экстентные отчеты более настраиваемы, чем другие.
  • Экстентный API может создавать больше интерактивных отчетов, представление панели мониторинга, графическое представление, делать снимки экрана на каждом этапе тестирования и отправлять отчеты по электронной почте.
  • Это может быть легко интегрирован с такими фреймворками, как JUnit, NUnit, & amp; TestNG
  • Отображает время, затраченное на выполнение тестового примера.

Генерация экстента Отчеты в Selenium WebDriver

Основная цель этой статьи — показать отчеты о экстенте. Это самый популярный и широко используемый инструмент Selenium Reporting на текущем рынке. Давайте посмотрим, как сгенерировать отчеты экстентов в Selenium WebDriver.

Предварительные условия для создания отчетов экстентов:

  1. Java должна быть установлена ​​- Установите и установка Java.
  2. TestNG должен быть установлен — Установить TestNG
  3. Extent Report Jars (версия 2.41.2) — Загрузить
  4. extension-config.xml — позволяет настроить отчет HTML

Шаги по созданию отчетов о экстентах:

  1. Сначала создайте проект TestNG в eclipse.
  2. Теперь загрузите файлы библиотеки экстентов по следующей ссылке: http: //extentreports.relevantcodes.com/
  3. Добавьте загруженные файлы библиотеки в свой проект.
  4. Создайте класс java, например ExtentReportsClass, и добавьте к нему следующий код

Просмотрите видео ниже, чтобы увидеть «Полное руководство по отчетам о расширениях»

Пожалуйста, проявите терпение. Видео загрузится через некоторое время.

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

Пояснение к коду:

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

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

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

ii. Были приняты три метода с аннотацией @Test, такие как passTest , failTest и skipTest , и метод startTest с аннотацией @BeforeTest и еще один метод endReport с аннотацией @AfterMethod

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

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

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

v . Используется ITestResult в @AfterMethod, чтобы описать результат теста.

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

Java <таблица класс = "карандаш-таблица"> 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889

программный пакетTestingMaterial; import java.io.File; import org.testng.Assert; import org.testng.ITestResult; import org.testng.SkipException; import org.testng.annotations.AfterMethod; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org .testng.annotations.Test; импорт com.relevantcodes.extentreports.ExtentReports; импорт com.relevantcodes.extentreports.ExtentTest; импорт com.relevantcodes.extentreports.LogStatus; открытый класс ExtentReportsClass {ExtentReports extension; Регистратор ExtentTest; @BeforeTest public void startReport () {//ExtentReports (String filePath, Boolean replaceExisting) //путь к файлу — путь к файлу в формате .htm или .html — путь, по которому ваш отчет должен быть сгенерирован. //replaceExisting — Настройка перезаписи (ИСТИНА) существующего файла или добавления к нему //Истина (по умолчанию): файл будет заменен новой разметкой, и все существующие данные будут потеряны. Используйте эту опцию для создания нового отчета. //Ложь: существующие данные останутся, новые тесты будут добавлены к существующему отчету. Если указанный путь не существует, будет создан новый файл. экстент = новый ExtentReports (System.getProperty (& # 34; user.dir & # 34;) + & # 34; /test-output/STMExtentReport.html&#34 ;, true); //extent.addSystemInfo("Environment"," Имя среды & # 34;) extension .addSystemInfo (& # 34; Имя хоста & # 34;, & # 34; SoftwareTestingMaterial & # 34;) .addSystemInfo (& # 34; Среда & # 34 ;, & # 34; Тестирование автоматизации & # 34;) .addSystemInfo (& # 34; Имя пользователя & # 34 ;, & # 34; Раджкумар С.М. & # 34;); //загрузка внешнего xml-файла (например, extension-config.xml), который был помещен в базовый каталог //Вы можете найти xml-файл ниже. Создайте XML-файл в своем проекте и скопируйте указанный ниже код extension.loadConfig (новый файл (System.getProperty (& # 34; user.dir & # 34;) + & # 34; \ extension-config.xml & # 34; )); } @Test public void passTest () {//extent.startTest("TestCaseName&#34 ;, & # 34; Description & # 34;) //TestCaseName — Имя теста //Описание — Описание теста//Запуск журнала тестов = extension.startTest (& # 34; passTest & # 34;); Assert.assertTrue (истина); //Для создания журнала при прохождении тестового примера logger.log (LogStatus.PASS, & # 34; Тестовый пример пройден — passTest & # 34;); } @Test public void failTest () {logger = extension.startTest (& # 34; failTest & # 34;); Assert.assertTrue (ложь); logger.log (LogStatus.PASS, & # 34; Тестовый пример (failTest) Статус пройден & # 34;); } @Test public void skipTest () {logger = extension.startTest (& # 34; skipTest & # 34;); выбросить новое исключение SkipException (& # 34; Пропуск — это не готово для тестирования & # 34;); } @AfterMethod public void getResult (ITestResult result) {if (result.getStatus () == ITestResult.FAILURE) {logger.log (LogStatus.FAIL, & # 34; Test Case Failed is & # 34; + result.getName ( )); logger.log (LogStatus.FAIL, & # 34; Test Case Failed is & # 34; + result.getThrowable ()); } else if (result.getStatus () == ITestResult.SKIP) {logger.log (LogStatus.SKIP, & # 34; Пропущенный тестовый пример — & # 34; + result.getName ()); } //завершение теста //endTest (logger): завершает текущий тест и готовится к созданию отчета HTML extension.endTest (logger); } @AfterTest public void endReport () {//записываем все в документ //flush () — для записи или обновления тестовой информации в ваш отчет. extension.flush (); //Вызов функции close () в самом конце сеанса для очистки всех ресурсов. //Если какой-либо из ваших тестов завершился внезапно, вызвав какие-либо побочные эффекты (не все журналы отправлены в ExtentReports, информация отсутствует), этот метод гарантирует, что тест по-прежнему будет добавлен к отчету с предупреждающим сообщением. //Вы должны вызвать close () только один раз, в самом конце (например, в @AfterSuite), поскольку он закрывает базовый поток. //После вызова этого метода вызов любого метода Extent вызовет ошибку. //close () — Закрыть все операции extension.close (); }}

extension-config.xml:

Используя этот внешний XML-файл (extension-config.xml), мы можем изменить такие детали, как тема отчета (стандартная или темная), заголовок отчета, заголовок документа и т. Д.

Мы используем объект экстента и используйте метод loadConfig () для загрузки этого XML-файла.

12345678910111213141516171819202122232425262728141516171819202122232425262728143024384384384384384384384384384384384345 & lt;? xml version = & # 34; 1.0 & # 34; кодировка = & # 34; UTF-8 & # 34;? & gt; & lt; extensionreports & gt; & lt; конфигурация & gt; & lt;! — тема отчета — & gt; & lt;! — стандартный, темный — & gt; & lt; theme & gt; стандартный & lt;/theme & gt; & lt;! — кодировка документа — & gt; & lt;! — по умолчанию используется UTF-8 — & gt; & lt; кодировка & gt; UTF-8 & lt;/encoding & gt; & lt;! — протокол для скриптов и таблиц стилей — & gt; & lt;! — по умолчанию https — & gt; & lt; протокол & gt; https & lt;/protocol & gt; & lt;! — заголовок документа — & gt; & lt; documentTitle & gt; ExtentReports 2.0 & lt;/documentTitle & gt; & lt;! — название отчета — отображается сверху — & gt; & lt; reportName & gt; & lt;/reportName & gt; & lt;! — заголовок отчета — отображается вверху, после заголовка отчета — & gt; & lt; reportHeadline & gt; Отчет об автоматизации & lt;/reportHeadline & gt; & lt;! — глобальное переопределение формата даты — & gt; & lt;! — по умолчанию гггг-ММ-дд — & gt; & lt; dateFormat & gt; гггг-ММ-дд & lt;/dateFormat & gt; & lt;! — переопределение глобального формата времени — & gt; & lt;! — по умолчанию ЧЧ: мм: сс — & gt; & lt; timeFormat & gt; ЧЧ: мм: сс & lt;/timeFormat & gt; & lt;! — собственный JavaScript — & gt; & lt; скрипты & gt; & lt;! [CDATA [$ (документ) .ready (функция () {}); ]] & gt; & lt;/scripts & gt; & lt;! — пользовательские стили — & gt; & lt; стили & gt; & lt;! [CDATA []] & gt; & lt;/styles & gt; & lt;/configuration & gt; & lt;/extensionreports & gt;

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

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

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

Сводный отчет теста:

Как сгенерировать отчеты об объемах в Selenium Webdriver

Графический отчет с круговыми диаграммами:

 Как сгенерировать экстент-отчеты в Selenium Webdriver

Таким образом, мы могли бы сгенерировать экстент отчеты.

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

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

Можно ли настраивать отчеты об экстентах?

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

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

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

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

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

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

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

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

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

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

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

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