Введение 0:00 Спикер представляет команду Джуг Групп и своего коллегу Константина Лыченко, который расскажет о системе автотестов на робот-фреймворк.
Продукт и используемые инструменты 2:10 Продукт построен на микросервисной архитектуре, тесты написаны с использованием робот-фреймворка и пайтона. Используются gitlab, Slack, Grafana для сбора метрик и отчетов.
Как была устроена автотестовая система ранее 5:01 Пайплайн состоял из шагов билд, клин, кит, тест, отчеты в Slack. Проблемы: игнорирование сообщений, отсутствие подробностей о причинах падений тестов, отсутствие порейта по пайплайнам и поджомам.
Редактирование пайплайна 9:03 Добавлены линтеры и проверки, холст чек тесты. Если тест падает, джоба считается упавшей и не выполняется.
Устройство Slack бота 10:52 Скрипт написан на Python, хранится в репозитории с тестами. Использует Slack и GitLab для отправки сообщений и работы с Gitlab. Отправляет сообщения об упавших тестах, ссылки на джобу и артефакты.
Сбор метрик 12:39 Использует MySQL, Grafana для настройки и сбора метрик. Создает базу данных, таблицы для хранения данных.
Настройка графаны 13:29 Установка и настройка графаны версии 7.0 или выше. Подключение источника данных (база данных майкель).
Создание дашборды 14:35 Создание панели стат, добавление блоков запросов. Создание трех диаграмм (фейл джобс, тест, рор дистрибьюш). Вставка таблицы для сбора общей информации о прогоне тестов.
Сбор метрик 17:26 Использование слушателей робот фреймворк для отслеживания статуса выполнения теста. Отправка информации о прогоне тестов в базу данных.
Улучшения и изменения 20:18 Добавление хэлст чеки и линтеры в пайплайн. Доработка с лак бота для отправки ссылок на джобу в случае падения тестов. Отображение метрик в графане и отправка отчетов в Slack. Создание двух графа на доски: одна с информацией о последнем прогоне, другая с информацией о падениях тестов. Создание графиков и таблиц для анализа стабильности пайплайнов и падения тестов.