Тестовое задание в проект "Система проверки работоспособности дистрибутивов на основе Yocto" лаборатории Yadro в ЛЭТИ.
Система автоматического тестирования веб-сервера Apache при помощи Pytest и Allure. Система тестирования (agent) содержит
ряд тестов для проверки работоспособности и корректности работы сервера Apache (target) на базе образа debian:bookworm-slim.
Результаты тестов собираются в отчёт с помощью Allure. Также реализован набор smoke-тестов на ряд стандартных пакетов.
Тестируемый сервер (target), система тестирования (agent) и сервер для просмотра отчетов (allure) запускаются в отдельных докер-контейнерах.
Взаимодействие между контейнерами происходит через SSH и HTTP и конфигурируется с помощью Docker Compose и переменных окружения.
Для запуска проекта необходимы:
Dockerверсии 23.x и выше;Docker Compose v2;Makeдля удобного запуска проекта;- Браузер для просмотра отчётов о тестировании (опционально).
После клонирования репозитория требуется указать данные для подключения agent к target (credentials). Проект поддерживает подключение к внешнему target: основные параметры подключения (IP, ports) по умолчанию задаются в docker-compose.yml. Для конфигурирования SSH-подключения используются переменные окружения. Для этого скопируйте env.example:
cp .env.example .envИ настройте там следующие обязательные параметры подключения:
SSH_TARGET_USERдля задания пользователя в контейнере target иSSH_TARGET_PASSWORDдля задания пароля для этого пользователя;REPORT_HTTP_PORT- порт на локальной машине для доступа к странице с отчётом Allure.
При необходимости возможно настроить параметры для подключения к внешнему target:
SSH_HOSTNAME- имя целевого хоста target для тесторования;SSH_PORT- порт target для SSH-подключения;HTTP_PORT- порт target для HTTP запросов хостящейся страницы. Данные параместры заданы по умолчанию в docker-compose.yml для подключения к контейнеру target.
Чтобы собрать проект, используйте цель build из Makefile проекта:
make buildСборка проекта производится автоматически при запуске тестов, поэтому при начале тестирования достаточно цели tests:
make testsДля запуска разных сценариев тестирования и их удобного контроля используются цели из Makefile.
Для запуска основных тестов и просмотра их результатов в консоли используется цель tests:
make testsАвтоматические тесты также генерируют отчеты Allure в директории reportallure.
Для их просмотра удобно использовать цель report:
make reportПри выполнении данной цели поднимается отдельный докер-контейнер service-allure, который читает отчет
из директории reportallure и хостит его как веб-сервер. Цель автоматически запускает браузер по умолчанию для просмотра отчета о тестировании.
Для удобного управления контейнерами добавлены следующие цели:
make stop- останавливает запущенные контейнеры;make status- отображает запущенные контейнеры;make clean- очищает от отчетов директорию reportallure.
Для быстрого просмотра процесса тестирования и получения отчета настроено CI, в котором автоматически проводится запуск тестирования и проверка его результатов. Также в качестве артефакта CI генерирует отчёт Allure, который можно скачать и посмотреть локально:



