В предыдущей статье мы запустили наши тесты через Maven, что позволило нам получать более подробную информацию о результатах тестов, а не просто сообщение об ошибке. Однако этого всё ещё недостаточно, хотелось бы видеть причину падения каждого теста, подобно тому, как мы просматриваем отчёты в Allure. Возможно, стоит интегрировать Allure в TeamCity?
Информация по тестам
За счёт того, что мы настроили запуск тестов через Maven у нас появилась новая вкладка в билде с тестами. Называется Tests.
В ней мы можем как раз посмотреть все тесты, которые прошли, а также посмотреть небольшой отчёт об ошибке
В данном случае тест ошибочный, так как я указал файл которого не существует
Артефакты в Teamcity
После выполнения тестов мы можем сохранить определённые файлы в артефактах. В нашем случае это сгенерированный отчёт Allure, с которым мы можем работать дальше.
Сейчас у нас там пусто, так как мы ничего не настраивали.
Дополнительный шаг для генерации отчёта
У нас уже есть один шаг с запуском тестов, давайте для начала добавим шаг, где мы пропишем уже знакомую команду
allure generate target/allure-results --clean
Это будет просто Command Line
Затем зададим название. В качестве условия запуска выберем «Запускать даже если некоторые тесты упали», чтобы отчёт формировался не только в случае успешного прохождения всех тестов.
Поле «Working directory» я также оставляю пустым, поскольку нахожусь в каталоге своего проекта, который был указан в CSV (об этом можно прочитать в предыдущих статьях).
В Custom script: прописываем генерацию отчёта, которую вы уже знаете из моих статей. Шаг с генерацией отчёта готов
Стоит отметить, как я уже говорил, что у меня TeamCity настроен локально на ПК. Это означает, что на моём компьютере есть библиотека Allure, поэтому никаких дополнительных настроек не требуется.
Например, на агентах этой библиотеки нет. Вы можете загрузить эту библиотеку на агент и при запуске отчёта просто указать к ней путь. Например, это может выглядеть следующим образом.
%env.HOME%/allure-2.21.0/bin/allure generate target/allure-results --clean
Снова Артефакты
Сохраняем изменения и продолжаем настройку. Мы создали команду для генерации отчёта, но TeamCity пока не знает о наших планах. Если мы просто выполним команду, отчёт сформируется, но не будет сохранён.
Чтобы решить эту проблему, в настройках билда переходим в раздел General Settings и добавляем команду генерации отчёта в список артефактов.
\allure-report\**\* => report.zip
Что же она означает? Помним что после формирования отчёта у нас формируется папка allure-report.
Так вот после завершения тестов мы формируем отчет командой генерации отчёта и сохраняем всю эту папку в архив - report.zip
Этот архив сохранится в артефактах!
Формируем таблицу с Allure
Запустим наши тесты и посмотрим, сформировался ли архив в артефактах. И действительно наш архив готов!
Мы даже можем нажать на Index.html и нам откроется наш отчёт!
В нём мы также видим, что у нас проблема в файле.
Интегрируем Allure в TeamCity
Мы можем сделать ещё удобнее. Давайте выведем этот отчёт прямо в TeamCity, чтобы пользователям не приходилось искать его в артефактах.
Перейдём в настройки проекта, а не билда. В разделе Report Tabs создадим новую вкладку для нашего отчёта.
Дадим любое имя и далле важный пункт
Наш index.html находится в архиве и если мы оставим всё как есть, то таблица не сформируется. Видим в описании ниже как нужно прописать.
[путь до архива]![путь до файла из которого нужно сформировать таблицу]
Поэтому пропишем
report.zip!index.html
Выберем Latest finished build, так как нам нужно формировать вне зависимости успешно прошли тесты или упали
Запустим наши тесты ещё раз и увидим, что в проекте появилась новая вкладка с нашим отчётом
Здесь и будем находится наш отчёт!
Если у вас есть вопросы или вы просто хотите стать частью команды тестировщиков, то переходи в ТГ канал, где можем пообщаться с единомышленниками и найти много интересных и полезных знаний!Также если вам нужна индивидуальная консультация, менторство и помощь в создании проекта пишите в ТГ канал!