AutotestMetrics
Описание
Проект для демонстрации основ расчёта метрик автотестов на основе анализа трафика через различные интерфейсы.
Языки
- Java100%
📊 Demo Metrics Service — Автоматизированная обработка метрик автотестов
Проект на Spring Boot + Kafka + JUnit5, демонстрирующий сбор, передачу и обработку метрик автоматизированного тестирования через REST API и Apache Kafka. Предназначен для использования в CI/CD или системах мониторинга качества тестирования.
🚀 Функциональность
- Приём метрик автотестов через REST API
- Отправка и получение сообщений через Apache Kafka
- Интеграционные тесты с использованием:
- JUnit 5
- RestAssured (для HTTP-запросов)
- Embedded Kafka (для тестирования без внешнего брокера)
- Генерация отчётов с помощью Allure Report
🛠 Технологии
| Технология | Версия / Использование |
|---|---|
| Java | 17+ |
| Spring Boot | 3.3+ |
| Spring Kafka | Встроенная поддержка Kafka |
| Gradle | Kotlin DSL |
| JUnit 5 | Для интеграционных тестов |
| RestAssured | Тестирование REST API |
| Allure Report | Генерация красивых отчётов по тестам |
| Embedded Kafka | Локальный Kafka для тестов |
📦 Установка и запуск
Предварительные требования
- JDK 17 или выше
- Gradle (рекомендуется использовать wrapper)
- (Опционально) Allure CLI для просмотра отчётов
Kafka
Для тестов используется Embedded Kafka, а для обычного запуска приложения нужен внешний сервис Кафка.
Для этого можно использовать Docker контейнер: Apache Kafka
Достаточно простого варианта запуска:
Так же потребуется создать топики Запуск shell в контейнере:
Создание топиков:
1. Сборка проекта
2. Запуск приложения
Сервис будет доступен на:
🌐 REST API
Отправить метрику теста
Пример тела запроса:
Ответ:
Отправить сообщение через Kafka (эхо)
Отправляет сообщение в топик Kafka .
🧪 Запуск тестов
Тесты проверяют:
- Отправку сообщений в Kafka
- Получение сообщений из Kafka
- Работу REST API через RestAssured
📈 Allure Отчёты
После выполнения тестов:
Сгенерировать отчёт:
Посмотреть отчёт в браузере:
Откроется вкладка в браузере с детализацией по каждому тесту, шагам, запросам и ошибкам.
⚠️ Если
не работает, установите Allure CLI:allureServe
🧩 Архитектура компонентов
| Класс | Назначение |
|---|---|
| REST контроллер для приёма метрик |
| Отправка сообщений в Kafka |
| Приём и обработка сообщений |
| Модель данных метрики теста |
| Настройка топиков Kafka |
| Интеграционные тесты с RestAssured и Embedded Kafka |
📁 Структура проекта
src/
├── main/
│ ├── java/ru/sakkuratov/autotests
│ │ ├── Application.java
│ │ ├── controller/
│ │ ├── service/
│ │ ├── model/
│ │ └── config/
│ └── resources/
│ ├── application.yml
│ └── application-test.yml
└── test/
├── java/ru/sakkuratov/autotests
│ ├── DemoApplicationTests.java
│ └── AllureConfig.java
└── resources/
├── allure.properties
└── application.yml
📎 Пример использования в CI
Добавьте в ваш , или другой CI:
🙋 Поддержка
Если возникнут вопросы — создайте Issue или напишите разработчику.
✅ Готов к использованию в демонстрациях, пайплайнах и системах аналитики тестирования.