#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:",
},
- Запустите проект и обновите его.
- отчет проверки будет сгенерирован в папке по умолчанию output /Run_with system time/report.html
Если вы хотите сгенерировать отчет по указанному пути с временной меткой
просто следуйте приведенным ниже шагам.
-
переходим к зависимостям maven.
-
поиск cucumber-extentsreport.jar
-
расширьте jar и выберите пакет com.cucumber.listener
-
скопируйте весь код в класс ExtentProperties
-
прямо в пакете создайте новое перечисление с именем ExtentProperties
-
затем вставьте код класса ExtentProperties в созданное перечисление.
-
метод поиска ниже
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";
}
- Запустите проект, затем обновите проект.
10. отчет проверки будет сгенерирован по указанному пути с именем.
Extent_Reports/_2020_06_16_19_14_07/Выполнение report.html
Пожалуйста, прокомментируйте, если у вас есть какие-либо вопросы
Ответ №2:
Работая с последней версией cucumber, вы можете получить временную метку начала каждого сценария в отчете json, как показано ниже:
"elements": [
{
"start_timestamp": "2019-11-18T11:06:15.606Z",
....
}