Внедрение Telegram-бота во фреймворк Maestro

Интеграция Telegram-бота во фреймворк Maestro и подключение к Allure Test Ops Автоматизация уведомлений и управление тестированием через мессенджер Недавно я успешно внедрил Telegram-бота в процесс автоматизированного тестирования на базе фреймворка Maestro (современный инструмент для мобильного UI-тестирования) и интегрировал его с «Allure Test Ops» для централизованного управления результатами. Вот как это работает:

1. Настройка Telegram-бота Создал бота, получил API-токен и написал скрипт на Python. Основные функции:

  • Отправка уведомлений о старте/завершении тестов.
  • Отчеты об ошибках с скриншотами из Maestro.
  • Команды для ручного запуска тест-сьютов (например, /run_smoke).

2. Интеграция с Maestro Maestro предоставляет удобный CLI и поддержку кастомных скриптов. Добавил в конфигурацию YAML-файлов хуки: - Перед запуском теста: Бот отправляет в Telegram-чат сообщение с названием тест-кейса. - После завершения: Скрипт парсит результаты, а бот отправляет статус (Passed/Failed) и логи. - При падении теста автоматически генерируется скриншот через Maestro CLI и прикрепляется к сообщению.

3. Подключение к Allure Test Ops Для синхронизации данных с Allure Test Ops: 1. Настроил генерацию отчетов Allure в Maestro через плагин allure-maestro. 2. Реализовал автоматическую загрузку отчетов в Allure Test Ops через REST API. 3. Бот теперь умеет отправлять ссылку на отчет в Allure по команде /allure_report.

Дополнительно настроил оповещения в Telegram при изменении статуса тестов в Allure Test Ops (например, при помечении дефекта как «Починен»).

4. Решенные проблемы

  • Асинхронность: Telegram-бот и Maestro работают в разных потоках — пришлось использовать asyncio для корректной обработки запросов.
  • Парсинг логов: Для извлечения данных из Maestro пришлось написать кастомный парсер на Python.

Итог Интеграция Telegram-бота с Maestro и Allure Test Ops позволила:

  • Сократить время реакции на падения тестов.
  • Управлять тестированием удаленно через чат.
  • Автоматизировать отчетность и связь между инструментами. Планирую добавить поддержку голосовых команд и интеграцию с Jira для автоматического создания тикетов.
Внедрение Telegram-бота во фреймворк Maestro | Сетка — социальная сеть от hh.ru