Проект по автоматизации тестирования API для веб-приложения Book Store
➠ Отчет о результатах тестирования в Allure Report
➠ Интеграция тестов c тест-менеджмент системой Allure TestOps
Разработаны автотесты на
API.
- Запросы
GET,POSTиDELETE- Успешная генерация токена
- Отображение списка всех книг
- Отображение определенной книги по ISBN в списке всех книг
- Добавление и удаление книги в профиле пользователя
- Отображение
statusCodeиbodyв ответе запроса - Соответствие
bodyответаJSON Schema - Отображение значений ключа в соответствии с проверкой на
Groovy
В данном проекте автотесты написаны на
Javaс использованием библиотекиREST Assuredдля API-тестов.
Allure Reportформирует отчет о запуске тестов.Для автоматизированной сборки проекта используется
Gradle.В качестве библиотеки для модульного тестирования используется
JUnit 5.
Jenkinsвыполняет запуск тестов.Автотесты интегрируются с тест-менеджмент системой
Allure TestOpsи таск-трекер системойJira.После завершения прогона отправляются уведомления с помощью бота в
Telegram.
gradle clean ${TASK}
ℹ️ Для запуска тестов должны существовать следующие файлы ⇩
👈
credentials.propertiesВ файле должны быть расположены:
userNameиpassword– данные для авторизации в веб-приложении Book Store👈
api.propertiesВ файле должны быть расположены:
apiURL– адрес сервера, который будет использоваться в тестах
👈
TASK– список тестов, сгруппированных по параметру тега. В зависимости от выбранного параметра, будут запускаться определенные группы тестов.Доступные варианты:
test– запуск всех тестовhigh_priority_tests– запуск высокоприоритетных тестов с тегами Critical, Highest, Blocker, Highweb_test– запуск тестов с тегом Webapi_test– запуск тестов с тегом API
allure serve build/allure-results
❗ Для формирования отчета должен быть установлен
Allure.
Запуск тестов в Jenkins
- Открыть сборку Jenkins
- Нажать на таск
"Собрать с параметрами" - Указать значения параметров
- Нажать на кнопку
"Собрать"
Отчет о результатах тестирования в Allure Report
Allure-framework используется в качестве инструмента для построения отчетов о прогоне автотестов. Он позволяет получить информацию о ходе выполнения тестов, а также прикрепить скриншоты, логи и видео к формируемому отчету. Имеется возможность указать различные теги, приоритеты и прочую сопутствующую информацию для тестов.
👈 Страница
OverviewСраница
Overviewявляется главной страницей Allure-отчета.Состоит из следующих блоков:
Блок
ALLURE REPORT– включает в себя дату и время прохождения теста, общее количество прогнанных кейсов, а также диаграмму с указанием процента и количества успешных, упавших и сломавшихся в процессе выполнения тестов.Блок
TREND– показывает тренд прохождения тестов от сборки к сборке.Блок
SUITES– показывает распределение результатов тестов по тестовым наборам.Блок
ENVIRONMENT– показывает тестовое окружение, на котором запускались тесты.Блок
CATEGORIES– показывает распределение неуспешно прошедших тестов по видам дефектов.Блок
FEATURES BY STORIES– показывает распределение тестов по функционалу, который они проверяют.Блок
EXECUTORS– показывает исполнителя текущей сборки. Если выполнение производилось на инструменте CI (например, на Jenkins), то будет предоставлена информация о джобе и номере сборки.
👈 Страница
GraphsНа странице
Graphsможно получить информацию о тестовом прогоне в графическом виде: статус прогона, распределение тестов по критичности, длительности прохождения, перезапускам, категориям дефектов и так далее.
👈 Страница
BehaviorsНа странице
Behaviorsтесты сгруппированы по проверяемому функционалу (Epic, Feature, Story).
👈 Прочие страницы
Страница
Categories– данная страница предоставляет информацио о распределении дефектов по их видам.Страница
Suites– на данной странице представляется стандартное распределение выполнявшихся тестов по тестовым наборам или классам, в которых находятся тестовые методы.Страница
Timeline– данная страница визуализирует временные рамки прохождения каждого теста.Страница
Packages– на этой странице тесты сгруппированы по пакетам, в которых лежат тестовые классы.
Интеграция тестов c тест-менеджмент системой Allure TestOps
Allure TestOpsиспользуется для хранения всех авто и ручных тестов, запусков и их результатов, а также статистики и отчетов.
Интеграция тестов c таск-трекер системой Jira
В проекте реализована интеграция с
Jira, что позволяет добавлять в задачи тест-кейсы, запуски и их результаты.
После завершения сборки специальный бот, созданный в
Telegram, автоматически обрабатывает и отправляет сообщение с отчетом о прогоне. Фреймворк также поддерживает уведомления по электронной почте, Slack, Skype и Mattermost.