Не секрет, что хорошие отчеты являются очень важной частью любой системы автоматизации тестирования. И просто прекрасно, если под рукой есть инструмент, который прямо из коробки предоставляет нам то, что бы мы хотели получить от системы репортинга. Причем в унифицированном виде вне зависимости от используемых технологий. Впрочем, всегда есть нюансы. Об этом и поговорим. В своем докладе я расскажу (а тем, кто в курсе, напомню) что такое EPAM Report Portal и почему его нужно использовать, также о том, как интегрировать его в тестовую систему на базе Cucumber, какие при этом есть подводные камни и как их можно обойти.
2. 2
Кто я?
Sergey Mishanin
Senior Software Test
Automation Engineer
• В тестировании 10 лет
• И них 9 в автоматизации
• В основном занимаюсь различными
видами тестирования web-приложений
Email: sergey_mishanin@epam.com
Skype: ssmishanin
4. 4
Report Portal
Report Portal - это система
сбора, хранения и
анализа результатов
прохождения тестов с
открытым исходным
кодом
5. 5
Преимущества Установка Интеграция Особенности
Результаты в реальном времени
Инструменты анализа результатов,
красивые дашборды
Удобство командной
работы - все в одном месте
6. 6
История результатов сильно ускоряет
анализ причин падений
Быстрое подключение к
существующему проекту
Из коробки поддерживает основные
тестовые фреймворки и системы баг-
трекинга
Преимущества Установка Интеграция Особенности
7. 7
Установить Docker
git clone https://github.com/reportportal/reportportal.git
docker-compose -p reportportal up -d --force-recreate
http://reportportal.io/#documentation/Installation-steps-
Преимущества Установка Интеграция Особенности
11. 11
Преимущества Установка Интеграция Особенности
reportportal.properties
rp.endpoint = http://localhost:8080
rp.uuid = 02556b71-6776-4e9c-9891-262fa6d11182
rp.project = my_project_name
rp.launch = my_super_test_suite
12. 12
rp.tags – добавить тэги к запуску
rp.mode – для переключения в DEBUG режим
Дополнительные настройки
Преимущества Установка Интеграция Особенности
http://reportportal.io/#documentation/TestNG
13. 13
Преимущества Установка Интеграция Особенности
Выбираем тип репортера
@CucumberOptions(
plugin = {
"com.epam.reportportal.cucumber.ScenarioReporter"
})
@CucumberOptions(
plugin = {
"com.epam.reportportal.cucumber.StepReporter"
})
17. 17
2017-05-24_13:34:02.409 [02] [main] INFO steps.CommonStepsDef -
RP_MESSAGE#BASE64#/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQg
KDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2
wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI
yMjIyMjIyMjL/wAARCAGQAZADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAE
CAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDK
BkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZW
mNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLD
xMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQ
….#SCREENSHOT
И видим в консоли
Преимущества Установка Интеграция Особенности
18. 18
public class ScreenshotsFilter extends Filter<ILoggingEvent> {
@Override
public FilterReply decide(ILoggingEvent event) {
if (event.getMessage().startsWith("RP_MESSAGE#BASE64#")) {
return FilterReply.DENY;
} else {
return FilterReply.NEUTRAL;
}
}
}
Создаём класс-фильтр
Преимущества Установка Интеграция Особенности
24. 24
Преимущества Установка Интеграция Особенности
Повторные запуски
1. Cucumber умеет перезапускать упавшие сценарии только
новым билдом
2. Если очень захотеть, можно добавить немедленный повтор
сценария
3. В любом случае, в RP перезапущенный сценарий будет
лежать отдельно
25. 25
Преимущества Установка Интеграция Особенности
Отображение Scenario
Outline
В текущей реализации названия конкретного примера из схемы
не информативно
27. 27
Итого
Report Portal – отличный инструмент,
который сильно облегчает жизнь
Он отлично интегрируется в проект на базе Cucumber JVM.
И даже если вам необходимо расширить функционал, сделать
это довольно просто