Skip to content

API automated tests for the Book Store web application using REST Assured, Lombok, and Jackson libraries, Allure framework, Jenkins for test execution, integrated with Allure TestOps, Jira, and Telegram, including model and specification creation. Added Allure Listener and custom template for reporting, implemented JSON Schema validations

Notifications You must be signed in to change notification settings

jjfhj/bookstore_api_test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проект по автоматизации тестирования API для веб-приложения Book Store

Содержание

Покрытый функционал

Технологический стек

Запуск тестов из терминала

Запуск тестов в Jenkins

Отчет о результатах тестирования в Allure Report

Интеграция тестов c тест-менеджмент системой Allure TestOps

Интеграция тестов c таск-трекер системой Jira

Уведомления в Telegram с использованием бота

Покрытый функционал

Разработаны автотесты на API.

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, High
  • web_test – запуск тестов с тегом Web
  • api_test – запуск тестов с тегом API

🕹️ Формирование отчета Allure

allure serve build/allure-results

❗ Для формирования отчета должен быть установлен Allure.

Вернуться к содержанию 🔝

Запуск тестов в Jenkins

🚀 Для запуска тестов в Jenkins необходимо выполнить следующие шаги:

  1. Открыть сборку Jenkins
  2. Нажать на таск "Собрать с параметрами"
  3. Указать значения параметров
  4. Нажать на кнопку "Собрать"

🚀 Для формирования отчета о прохождении тестов в Allure Report необходимо выполнить следующий шаг:

  1. После выполнения сборки нажать на любую ссылку/иконку "Allure Report"

Вернуться к содержанию 🔝

Отчет о результатах тестирования в Allure Report

Allure-framework используется в качестве инструмента для построения отчетов о прогоне автотестов. Он позволяет получить информацию о ходе выполнения тестов, а также прикрепить скриншоты, логи и видео к формируемому отчету. Имеется возможность указать различные теги, приоритеты и прочую сопутствующую информацию для тестов.

👈 Страница Overview

Сраница Overview является главной страницей Allure-отчета.

Состоит из следующих блоков:

  • Блок ALLURE REPORT – включает в себя дату и время прохождения теста, общее количество прогнанных кейсов, а также диаграмму с указанием процента и количества успешных, упавших и сломавшихся в процессе выполнения тестов.

  • Блок TREND – показывает тренд прохождения тестов от сборки к сборке.

  • Блок SUITES – показывает распределение результатов тестов по тестовым наборам.

  • Блок ENVIRONMENT – показывает тестовое окружение, на котором запускались тесты.

  • Блок CATEGORIES – показывает распределение неуспешно прошедших тестов по видам дефектов.

  • Блок FEATURES BY STORIES – показывает распределение тестов по функционалу, который они проверяют.

  • Блок EXECUTORS – показывает исполнителя текущей сборки. Если выполнение производилось на инструменте CI (например, на Jenkins), то будет предоставлена информация о джобе и номере сборки.

🎯 Главная страница Allure-отчета

👈 Страница Graphs

На странице Graphs можно получить информацию о тестовом прогоне в графическом виде: статус прогона, распределение тестов по критичности, длительности прохождения, перезапускам, категориям дефектов и так далее.

🎯 Информация о тестовом прогоне в графическом виде

👈 Страница Behaviors

На странице Behaviors тесты сгруппированы по проверяемому функционалу (Epic, Feature, Story).

🎯 Группировка тестов по проверяемому функционалу

👈 Прочие страницы
  • Страница Categories – данная страница предоставляет информацио о распределении дефектов по их видам.

  • Страница Suites – на данной странице представляется стандартное распределение выполнявшихся тестов по тестовым наборам или классам, в которых находятся тестовые методы.

  • Страница Timeline – данная страница визуализирует временные рамки прохождения каждого теста.

  • Страница Packages – на этой странице тесты сгруппированы по пакетам, в которых лежат тестовые классы.

Вернуться к содержанию 🔝

Интеграция тестов c тест-менеджмент системой Allure TestOps

Allure TestOps используется для хранения всех авто и ручных тестов, запусков и их результатов, а также статистики и отчетов.

🧩 Основной дашборд

🧩 Кастомный дашборд

🧩 Дашборд по типам тестов

🧩 Дашборд по стендам

🧩 Дашборд по команде

🧩 Запуски тестов

🧩 Результаты запуска тестов

🧩 Сгруппированные тест-кейсы по проверяемому функционалу

Вернуться к содержанию 🔝

Интеграция тестов c таск-трекер системой Jira

В проекте реализована интеграция с Jira, что позволяет добавлять в задачи тест-кейсы, запуски и их результаты.

Вернуться к содержанию 🔝

Уведомления в Telegram с использованием бота

После завершения сборки специальный бот, созданный в Telegram, автоматически обрабатывает и отправляет сообщение с отчетом о прогоне. Фреймворк также поддерживает уведомления по электронной почте, Slack, Skype и Mattermost.

Вернуться к содержанию 🔝

About

API automated tests for the Book Store web application using REST Assured, Lombok, and Jackson libraries, Allure framework, Jenkins for test execution, integrated with Allure TestOps, Jira, and Telegram, including model and specification creation. Added Allure Listener and custom template for reporting, implemented JSON Schema validations

Topics

Resources

Stars

Watchers

Forks