Учебники

Огурец — Отчеты

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

Для этого нам нужно интегрировать Cucumber с другим инструментом с открытым исходным кодом, таким как Ant / Junit. Здесь мы рассмотрим примеры JUnit, поскольку он обеспечивает поддержку языка Java.

Давайте посмотрим на детали другого формата отчета, который доступен и прост в использовании —

Довольно Формат (HTML Отчет)

Pretty Format генерирует отчет теста Cucumber в формате HTML, то есть в формате HTML. Это наиболее читаемый формат отчета. Он генерирует отчет точно так же, как и файл объектов, поэтому отслеживание также упрощается. Также вы можете указать место, куда вы хотите поместить этот отчет после выполнения теста. Это может быть —

  • Локальный каталог. Мы можем указать целевой каталог для отчета как любой локальный каталог компьютера, на котором будет выполняться тест.

  • Каталог сервера — у нас также есть возможность указать целевой каталог как любой каталог на сервере, который является общедоступным. Это обычно помогает, когда мы хотим, чтобы наши клиенты / заинтересованные стороны просматривали результаты теста в любой момент времени.

Локальный каталог. Мы можем указать целевой каталог для отчета как любой локальный каталог компьютера, на котором будет выполняться тест.

Каталог сервера — у нас также есть возможность указать целевой каталог как любой каталог на сервере, который является общедоступным. Это обычно помогает, когда мы хотим, чтобы наши клиенты / заинтересованные стороны просматривали результаты теста в любой момент времени.

пример

Давайте автоматизируем пример красивого формата.

Шаг 1 — Создайте проект Maven с именем cucumberReport в Eclipse.

Шаг 2 — Создайте пакет с именем CucumberReport в src / test / java

Шаг 3 — Создайте файл объектов с именем cucumberReport.feature

Запишите следующий текст в файл и сохраните его.

Особенность — огуречный отчет

# Это проверка результата теста для теста Pass

Сценарий: функция входа в систему существует

Учитывая, что я открыл браузер

Когда я открываю сайт Facebook

Тогда кнопка логина должна существовать

# Это проверка результата теста для теста Failed

Сценарий: забытый пароль существует

Учитывая, что я открыл браузер

Когда я открываю сайт Facebook

Тогда ссылка на забытый пароль должна существовать

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

Шаг 4 — Создайте файл определения шага.

  • Выберите и щелкните правой кнопкой мыши на схеме пакета.

  • Нажмите на «Новый» файл.

  • Дайте имя файла как cucumberReport.java

  • Запишите следующий текст в файл и сохраните его.

Выберите и щелкните правой кнопкой мыши на схеме пакета.

Нажмите на «Новый» файл.

Дайте имя файла как cucumberReport.java

Запишите следующий текст в файл и сохраните его.

package CucumberReport;
 
import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.firefox.FirefoxDriver; 

import cucumber.annotation.en.Given; 
import cucumber.annotation.en.Then; 
import cucumber.annotation.en.When; 

public class cucumberReport { 
   WebDriver driver = null; 
	
   @Given("^I have open the browser$") 
   public void openBrowser() { 
      driver = new FirefoxDriver();
   } 
	
   @When("^I open Facebook website$") 
   public void goToFacebook() { 
      driver.navigate().to("https://www.facebook.com/"); 
   } 
	
   @Then("^Login button should exits$") 
   public void loginButton() { 
      if(driver.findElement(By.id("u_0_v")).isEnabled()) { 
         System.out.println("Test 1 Pass"); 
      } else { 
         System.out.println("Test 1 Fail");
      }
   } 
	
   @Then("^Forgot password link should exist$") 
   public void forgotPWD() { 
      if(driver.findElement(By.id("")).isEnabled()) { 
         System.out.println("Test 1 Pass"); 
      } else {
         System.out.println("Test 1 Fail");
      } 
   } 
}

Шаг 5 — Создайте файл класса бегуна.

  • Создайте класс бегуна с именем runTest.java внутри пакета.

  • Напишите следующий код. Сохраните файл.

Создайте класс бегуна с именем runTest.java внутри пакета.

Напишите следующий код. Сохраните файл.

package CucumberReport; 

import org.junit.runner.RunWith; 
import cucumber.junit.Cucumber; 

@RunWith(Cucumber.class) 
@Cucumber.Options( 
   format = {"pretty", "html:target/Destination"} ) 
	
//Specifying pretty as a format option ensure that HTML report will be generated. 
//When we specify html:target/Destination - It will generate the HTML report 

inside the Destination folder, in the target folder of the maven project. 

public class runTest { }
  • Запустите тест, используя опцию

    • Выберите файл runTest.java из проводника пакетов.

    • Щелкните правой кнопкой мыши и выберите параметр « Запуск от имени» .

    • Выберите JUnit test.

Запустите тест, используя опцию

Выберите файл runTest.java из проводника пакетов.

Щелкните правой кнопкой мыши и выберите параметр « Запуск от имени» .

Выберите JUnit test.

При запуске этого файла класса вы увидите следующие вещи.

Оба сценария будут выполнены один за другим.

В целевом каталоге будет создана папка с именем Destination.

Огурец Джсон

Отчет будет называться «Index.html».

Откройте Index.html с помощью веб-браузера.

Вы увидите отчет, упомянутый на следующем рисунке —

Огуречный отчет

Это точно выделяет цвет неудачного сценария. Более того, в этом сценарии вы увидите подсветку для неудачного шага. Это делает отладку очень простой.

JSON Report

К настоящему времени мы увидели, насколько прост HTML-отчет. Однако, если мы хотим передать информацию об этом отчете в любое другое приложение, в случае HTML-отчетов это довольно сложно. Здесь возникает необходимость в другом формате отчетности. Нотация объекта сценария JSON-Java является еще одним форматом для создания отчетов об испытаниях Cucumber. JSON — это объект, содержащий много информации, хранящейся в текстовом формате. Отчеты JSON приносят в таблицу другое значение. Отчет JSON также может использоваться в качестве полезной информации, передаваемой между различными серверами. Кроме того, его можно использовать для отображения в виде веб-страницы. В двух словах, отчеты JSON могут использоваться другим приложением.

Что такое информация о полезной нагрузке? Когда данные отправляются через Интернет, каждая передаваемая единица включает в себя как информацию заголовка, так и фактические отправляемые данные. Заголовок идентифицирует источник и назначение пакета, в то время как фактические данные упоминаются как полезная нагрузка. Чтобы сгенерировать отчет JSON, нам просто нужно внести изменения в файл бегуна.

  • Измените параметр формата в файле бегуна следующим образом.

Измените параметр формата в файле бегуна следующим образом.

package CucumberReport; 

import org.junit.runner.RunWith; 
import cucumber.junit.Cucumber; 

@RunWith(Cucumber.class) 
@Cucumber.Options( format={"json:target/Destination/cucumber.json"}) 

//When we specify json:target/Destination/cucumber.json - It will generate the JSON  
report inside the Destination folder, in the target folder of the maven project.

public class runTest {}
  • Запустите тест, используя опцию —

    • Выберите файл runTest.java из проводника пакетов.

    • Щелкните правой кнопкой мыши и выберите опцию Run as .

    • Выберите JUnit test.

Запустите тест, используя опцию —

Выберите файл runTest.java из проводника пакетов.

Щелкните правой кнопкой мыши и выберите опцию Run as .

Выберите JUnit test.

  • При запуске этого файла класса вы увидите следующие вещи.

    • Оба сценария будут выполнены один за другим.

При запуске этого файла класса вы увидите следующие вещи.

Оба сценария будут выполнены один за другим.

Имя папки

  • Отчет будет называться cucumber.json (как указано в классе бегуна).

  • Откройте файл cucumber.json в текстовом редакторе.

  • Вы увидите отчет, упомянутый на следующем скриншоте после размещения разрывов строк —

Отчет будет называться cucumber.json (как указано в классе бегуна).

Откройте файл cucumber.json в текстовом редакторе.

Вы увидите отчет, упомянутый на следующем скриншоте после размещения разрывов строк —

Текстовый редактор

Примечание. JSON менее читаем по сравнению с форматом отчета HTML.