HanDev
← Проекты
QA · Automation · 2024–2026

HanDev QA Orchestrator

Платформа для централизованного запуска Playwright-тестов: проекты, прогоны, suite, environments, секреты, defect rules, quality gates, расписания, API-токены, AI-классификация падений. Тесты живут в репозиториях клиентов; QA клонит репо per-run и запускает в Docker-контейнере. Очередь BullMQ с настраиваемой concurrency.

  • BullMQ workers: git clone → docker run → парсинг JSON-репорта → INSERT
  • AI-классификация дефектов по errorHash, авто-генерация баг-репортов
  • Quality gates: блокировка деплоя при просадке pass-rate или нарушении классификации
  • Артефакты (HTML report, traces, видео) за forward-auth по подписанным URL
Node 22Fastify 5BullMQPlaywrightReact 18
HanDev QA Orchestrator — интерфейс проекта

Задача

У студии накопилась критическая масса проектов с Playwright-тестами в разных репозиториях с разной CI. Не было единого окна, где видно, что упало, где и почему; флак-тесты тонули в общем шуме; quality gates считать руками. Нужна платформа, которая централизованно запускает тесты, считает quality gates и быстро находит реальные дефекты.

Что сделали

  • Доменная модель: project → repository config / environments / suites / secrets / schedules / runs / tests, плюс defect_rules, quality_gates, notification_channels, api_tokens, members.
  • API на Fastify + Drizzle с матрицей прав на уровне проекта: viewer / runner / maintainer / admin. 9 пермишенов: view, trigger_run, set_defect, manage_schedules, manage_config, manage_secrets, manage_members, trigger_ai, configure_ai.
  • BullMQ workers: run-test-runner (git clone → docker run → парсинг JSON-репорта → INSERT) и run-scheduler (30-секундный cron-tick + watchdog + cleanup).
  • Bind mounts (не named volumes) — воркер сам стартует Playwright-контейнеры через docker socket, daemon резолвит пути на хосте.
  • API-токены qaop_* для CI: создание прогона через webhook POST /webhooks/runs с Authorization: Bearer.
  • Артефакты (HTML report, traces, видео) отдаются nginx-ом за forward-auth: отчёт открывается только тому, кому он положен, по короткоживущей подписанной ссылке.
  • AI-классификация: defect_rules сопоставляют ошибки с типами дефектов; кластеризация падений по errorHash; авто-генерация баг-репортов.
  • Quality gates: правила на pass-rate / длительность / классификацию дефектов; при просадке прогон помечается failed и блокирует деплой.

Результат

  • Все Playwright-проекты студии в одном дашборде. Первый подключённый — DieAlltagsfeen.
  • Реальный прогон #1 на DieAlltagsfeen: 119 тестов, 116 пройдено, 3 fail, 14 минут 1 секунда, suite smoke, environment dev, branch SHA 3bbf1a25.
  • HTML report Playwright кликается прямо из карточки прогона, артефакты под подписанными URL.
  • Статистика на горизонте 30 дней: pass rate по suite, длительность по suite, top flaky тестов, распределение типов дефектов.
  • Настройки проекта в 8 вкладках: Общие / Репозиторий / Окружения / Suites / Секреты / Defect rules / Quality Gates / API tokens.

Давайте
поговорим.

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

✉ info@handev.org