guide generate extent reports selenium webdriver
Як створити звіти про обсяги в Selenium WebDriver:
Селен забезпечує вбудовані звіти за допомогою таких фреймворків, як JUnit та TestNG.
Незважаючи на те, що вбудовані звіти містять інформацію про кроки, які виконуються в рамках тестового випадку, вони потребують додаткових налаштувань, щоб ділитися ними з усіма основними зацікавленими сторонами проекту.
Extent Reports - це настроюваний звіт HTML, розроблений Anshoo Arora, який може бути інтегрований у Selenium WebDriver за допомогою JUnit та TestNG.
Цей підручник дасть вам повний покроковий посібник із створення звітних обсягів у Selenium WebDrive із прикладами кодів.
Нижче наведено знімок вбудованого звіту, наданого фреймворком TestNG:
Екстенсивні звіти пропонують кілька переваг у порівнянні із вбудованими звітами, які генеруються за допомогою JUnit та TestNG, такі як представлення кругової діаграми, поетапне створення звітів, додавання знімків екрану тощо на кожному кроці тестування та презентабельний користувальницький інтерфейс, яким можна поділитися з всі зацікавлені сторони проекту.
Нижче наведено знімок зразка Звіт про обсяги у поданні секторної діаграми
(Примітка:Клацніть на будь-яке зображення, щоб збільшити його)
Що ви дізнаєтесь:
- Переваги використання звітів про обсяги
- Використання звітів про обсяги в Selenium Webdriver
- Зразок коду для звітів обсягу
- Підсумковий звіт про випробування
- Графічний звіт секторної діаграми
- Знімок екрана у звітах обсягу
- Висновок
- Рекомендована література
Переваги використання звітів про обсяги
Є кілька переваг звітів про обсяги, і лише деякі з них розглядаються нижче.
- Настроюваний звіт HTML із поетапним представленням та круговою діаграмою.
- Відображає час, необхідний для виконання тестового випадку у звіті.
- Кожен тестовий крок може бути пов’язаний із скріншотом.
- Кілька тестових випадків, що запускаються в межах одного набору, можна легко відстежити.
- Легко інтегрується з фреймворками TestNG та JUnit.
Використання звітів про обсяги в Selenium Webdriver
Звіти Extent містять два основні класи, які часто використовуються.
- Клас ExtentReports
- Клас ExtentTest
Синтаксис:
Звіти ExtentReports = нові ExtentReports (“Шлях до каталогу для зберігання результуючого HTML-файлу”, true / false);
ліве з'єднання проти лівого зовнішнього з'єднання
Тест ExtentTest = reports.startTest (“Ім'я тесту”);
Клас Extent Reports використовується для створення звіту HTML за вказаним користувачем шляхом. Логічний прапор вказує, чи потрібно перезаписати наявний звіт або створити новий звіт. Значення 'true' - значення за замовчуванням, що означає, що всі існуючі дані будуть перезаписані.
Клас Extent Test використовується для реєстрації кроків тестування у створеному звіті 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, ”Тестова інформація”);
Метод журналу приймає два параметри, перший параметр - це статус тесту, а другий параметр - повідомлення, яке буде надруковано у результатному звіті.
Зразок коду для звітів обсягу
Нижче згадано послідовність кроків для використання звітів про обсяги в Selenium Webdriver у Junit.
Крок 1:
Екстенсивні звіти можуть бути безпосередньо використані в селені WebDriver, імпортуючи файл JAR - obsegreports-java-2.41.2.jar, який можна завантажений тут .
Після завантаження ZIP-файлу витягніть вміст ZIP-файлу в папку.
Крок No2:
Додайте jar-файли, наявні у ZIP-файлі, до шляху створення проекту за допомогою опції Шлях побудови -> Налаштування Шляху побудови.
Крок No3:
Створіть новий клас JAVA із наведеним нижче кодом для звітів про обсяги.
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:
Наведений вище код демонструє використання звітів про обсяги. Виконання тестового кейсу починається з методу startTest, який передбачає ініціалізацію об’єкта Extent Reports. Параметр, переданий об’єкту Extent Reports, може бути будь-яким дійсним визначеним користувачем шляхом.
Для простоти, приклад використовує поточний каталог проекту для створення результуючого звіту HTML. Наступний оператор передбачає ініціалізацію об’єкта ExtentTest із повернутим значенням методу startTest.
яка фаза впровадження в sdlc?
@ Тест:
Тестовий клас включає наступні кроки:
- Відкрийте браузер 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 повертає файловий об'єкт, який потрібно зберігати у файловій змінній. Зверніть увагу, що перехід екземпляра веб-драйвера на знімок екрана є обов’язковим, якщо ви хочете використовувати метод.
# 3) Файл призначення = новий файл (“src /../ ErrImages /” + System.currentTimeMillis () + “.png”);
# 4) Наведене вище твердження створює папку з назвою 'ErrImages' у папці 'src' і зберігає ім'я файлу як поточний системний час.
# 5) Рядок errflpath = Dest.getAbsolutePath ();
FileUtils.copyFile (scrFile, Dest);
returnnerrflpath;
# 6) Наведені вище твердження копіюють зображення помилок до цільової папки.
Метод журналу:
Метод журналу використовує вбудований метод addScreenCapture класу Extent Test, щоб отримати знімок екрана та додати його до звіту Extent.
test.log (LogStatus.FAIL, test.addScreenCapture (захоплення (драйвер)) + “Помилка тесту”);
Повідомлення, записане методом журналу, може включати детальне повідомлення, включаючи очікувані та фактичні результати з метою налагодження.
Як відкрити файл .jar за допомогою Java -
Вихід:
Висновок
Екстенсивні звіти - це один з найкращих вбудованих способів створення настроюваних HTML-звітів із приємним користувальницьким інтерфейсом у веб-драйвері Selenium.
Це бібліотека з відкритим кодом, яку можна легко налаштувати за допомогою Selenium, що робить її найкращим вибором для тестувальників автоматизації.
Сподіваюся, зараз ви мали б чітке уявлення про Звіти про обсяги.
Рекомендована література
- Підручник з огірка селену: інтеграція огірка Java Selenium WebDriver
- Вступ до Selenium WebDriver - Підручник з селену №8
- Впровадження нашого першого сценарію WebDriver - Підручник № 10 для Selenium WebDriver
- Поширені запитання щодо селену
- Як обробляти сповіщення / спливаючі вікна в Selenium WebDriver - Підручник з селену No16
- Неявне та явне очікування в Selenium WebDriver (типи очікувань селену)
- Як запустити Selenium WebDriver у різних популярних браузерах
- Повне налаштування та встановлення WebDriver за допомогою Eclipse - Підручник селену № 9