AutotestMetrics

0

Описание

Проект для демонстрации основ расчёта метрик автотестов на основе анализа трафика через различные интерфейсы.

Языки

  • Java100%
README.md

📊 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

🛠 Технологии

ТехнологияВерсия / Использование
Java17+
Spring Boot3.3+
Spring KafkaВстроенная поддержка Kafka
GradleKotlin 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. Запуск приложения

Сервис будет доступен на:

http://localhost:8080


🌐 REST API

Отправить метрику теста

Пример тела запроса:

Ответ:


Отправить сообщение через Kafka (эхо)

Отправляет сообщение

"ECHO: hello"
в топик Kafka
test-messages
.


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

Тесты проверяют:

  • Отправку сообщений в Kafka
  • Получение сообщений из Kafka
  • Работу REST API через RestAssured

📈 Allure Отчёты

После выполнения тестов:

Сгенерировать отчёт:

Посмотреть отчёт в браузере:

Откроется вкладка в браузере с детализацией по каждому тесту, шагам, запросам и ошибкам.

⚠️ Если

allureServe
не работает, установите Allure CLI:


🧩 Архитектура компонентов

КлассНазначение
MetricsController
REST контроллер для приёма метрик
KafkaProducerService
Отправка сообщений в Kafka
KafkaConsumerService
Приём и обработка сообщений
TestMetric
Модель данных метрики теста
KafkaConfig
Настройка топиков Kafka
DemoApplicationTests
Интеграционные тесты с 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

Добавьте в ваш

.gitlab-ci.yml
,
github-actions
или другой CI:


🙋 Поддержка

Если возникнут вопросы — создайте Issue или напишите разработчику.


✅ Готов к использованию в демонстрациях, пайплайнах и системах аналитики тестирования.