В докладе я хочу поделиться личным опытом написания кастомного репортера для JBehave. Покажу причины решения написать свой репортер и пути решения проблемы. В конце я покажу как я имплементировал связку Allure report и знаменитого BDD фреймворка для Java - JBehave.
5. 5CONFIDENTIAL
PROBLEM
• JBehave generates report in XML,TXT,HTML formats
• Reports doesn’t give info about tested application
• Reports are hard customized
Report example:
7. 7CONFIDENTIAL
JBEHAVE REPORTER
• Written in Groovy
• Generates HTML report based on JBehave XML report
reporter –g <jbehaveFolder> -d <pathToReport>
Report example
О фреймворке. Приложение – большая eCommerce платформа. Фреймворк пишется на джва с использованием BDD. Тесты в основном реализовываются для бэкэнда.
Пишем на джава 7 как БДД тул используется Jbehave и собирается всэ с помощью Gradle.
Для тех кто не в курсе что такое BDD слайд является небольшим объяненим. Тесты можно писать на человепоянтном языке. Они называются шагами замет шига мапятся на реализацию в коде с помощью аннотаций GIVEN WHEN THEN
Все бы ничего, но как и любой интсрумент Jbehave обладает недостатками. И одним из таких недостатков являются очеты. Они читабельный и вполне информативные но их нельзя кастомизировать.
К примеру нельзя добавить информацию о тестируемом приложении либо дату сборки.
Какой же выход? Правильно – написать свою библиотеку которая будет генерировать отчет.
Посмотрим все в живую)
Назревает вопрос! Есть же Allure? Почему бы нам не заинтегрироваться с ним. Для того чтобы заинтегрироваться нужно написать свой адаптер. Адаптер на самом деле реализуется через листенеры.
В репозитории Allure были адаптеры практически для всех самых распространенных тест ранеров Junit, TestNG, но для jbehave не было.
Какой же выход? Правильно – написать свою библиотеку которая будет генерировать отчет.
У Jbehave есть листенер StoryReporter. Именно через него можно интегрировать Jbehave и Allure.
Простота интеграции с существующим фреймворком. Ну и еще один плюс, интеграция с Alure никак не ламает гененрацию стандартных отчетов.