Как добавить временную метку в отчет Cucumber

#automated-tests #cucumber #bdd #cucumber-jvm #cucumber-junit

#автоматизированные тесты #cucumber #bdd #cucumber-jvm #cucumber-junit

Вопрос:

Как я могу добавить временные метки в отчет HTML для начала / завершения тестового запуска и для начала / завершения сценария в Cucumber-JVM?

Есть ли опция Cucumber, которую я могу добавить в RunWith JUnit runner?

Комментарии:

1. Время начала и окончания сценария может быть добавлено в после и до перехватов. Передайте объект сценария и используйте метод write (text). Это будет отражено в отчете с обратным вызовом WriteEvent. Для начала и окончания теста вам нужно будет изменить код HTMLFOrmatter и добавить в качестве пользовательского плагина. Зарегистрируйте TestStartEvent и TestFinishEvent, если требуется, и получите временную метку в методах обратного вызова. событие.getTimestamp().

2. Спасибо, я тем временем разобрался с чем-то вроде этого.

Ответ №1:

Это просто!!!!!!

Не указывайте путь к папке в плагине com.cucumber.listener.ExtentCucumberFormatter.

Пример :

 plugin= { "pretty", "html:FeaturesReport", "html:target/site/cucumber-pretty", "json:target/cucumber.json",

      "com.cucumber.listener.ExtentCucumberFormatter:",

},
  
  1. Запустите проект и обновите его.
  2. отчет проверки будет сгенерирован в папке по умолчанию output /Run_with system time/report.html

Если вы хотите сгенерировать отчет по указанному пути с временной меткой

просто следуйте приведенным ниже шагам.

  1. переходим к зависимостям maven.

  2. поиск cucumber-extentsreport.jar

  3. расширьте jar и выберите пакет com.cucumber.listener

  4. скопируйте весь код в класс ExtentProperties

  5. прямо в пакете создайте новое перечисление с именем ExtentProperties

  6. затем вставьте код класса ExtentProperties в созданное перечисление.

  7. метод поиска ниже

 ExtentProperties() { 
    this.reportPath = "output"   File.separator   "Run_"   System.currentTimeMillis()  File.separator  "report.html"; 
    this.projectName = "default"; 
}
  

8. И замените приведенным ниже кодом

 String timeStamp = new SimpleDateFormat("yyyy.MM.dd.HH.mm.ss").format(new Date());

String userDir =System.getProperty("user.dir");

ExtentProperties()

{

    this.reportPath = "Extent_Reports"   File.separator   ""   
    timeStamp.replace(":","").replace(".","_")   File.separator   "Execution 
report.html"; 
    this.projectName = "default";

}
  
  1. Запустите проект, затем обновите проект.

10. отчет проверки будет сгенерирован по указанному пути с именем.

Extent_Reports/_2020_06_16_19_14_07/Выполнение report.html

Пожалуйста, прокомментируйте, если у вас есть какие-либо вопросы

Ответ №2:

Работая с последней версией cucumber, вы можете получить временную метку начала каждого сценария в отчете json, как показано ниже:

 "elements": [
  {
    "start_timestamp": "2019-11-18T11:06:15.606Z",
  ....
  }