Інноваційний інструмент для автоматизації тестування від українського інженера
Володимир Обрізан, український інженер, створив унікальний плагін, що здатен значно скоротити час, який витрачають інженери з автоматизації тестування на пошук причин збою автотестів. Це рішення допоможе фахівцям працювати ефективніше, одержуючи чіткі та структуровані звіти майже в реальному часі.
Виклики в автоматизації тестування: чому ринок потребує змін
За словами розробника, автоматизація тестування досі залишається «недооціненим сегментом» у світі розробки. Пояснити це просто: якщо бекенд-розробникам доступні сотні різноманітних інструментів, то для інженерів, які займаються автоматизацією, практично немає інструментів, що справді підходять під їхні вузькоспеціалізовані завдання.
Одна з основних проблем полягає в роботі тестраннера pytest. Він формує докладний звіт про падіння тестів лише після того, як виконання всієї тестової сесії завершиться, навіть якщо це займає кілька годин. У результаті інженери або вимушені чекати, або відволікаються на інші завдання, втрачаючи контекст помилки. В кінці вони отримують складний і погано структурований звіт: довгі стоси трейсбеків, змішані повідомлення про винятки, у яких код тестів і бібліотек йдуть у купі без чітких розподілів.
Як працює плагін pytest-testinel: ключові можливості
Володимир розробив безкоштовний плагін із відкритим кодом pytest-testinel, який суттєво змінює підхід до діагностики автотестів:
- Події та діагностична інформація надсилаються на хмарний сервер у режимі реального часу – одразу ж під час виконання тесту.
- Автоматично зберігаються скріншоти, відео та трейси Playwright у хмарне сховище, що дає миттєвий доступ до даних після завершення окремої перевірки, а не всього тестового пакета.
- Встановлення плагіну не вимагає змін у наявному тестовому коді – це дійсно drop-in рішення: реєструєтесь, запускаєте команду
pip install pytest-testinelі задаєте одну змінну середовища.
Покращена діагностика — розбір проблем по поличках
Для усунення хаотичності стандартних звітів Обрізан розробив механізм, який розбиває трейсбек на окремі фрейми та класифікує їх за категоріями (тести, page object, Selenium і т.д.). При цьому код сторонніх бібліотек приховується, що позбавляє тестувальника зайвої інформації. До того ж у звітах інтегруються всі супутні матеріали – скріншоти, відео та трейси трапляються прямо у звіті, аби не доводилось вручну шукати їх на CI-сервері.
Реальні результати та подальші плани розвитку
За півроку використання плагіна командою Володимира були помічені конкретні позитивні зміни:
- Коміти з виправленнями автотестів зʼявляються у репозиторії раніше, ніж повністю завершується прогін тестів.
- Скорочується час на аналіз причин падіння тестів, що підвищує продуктивність розробки.
Автор визнає, що на ринку вже існують подібні сервіси, такі як ReportPortal, Testomat та TestDino, і в коментарях до публікації на DOU користувачі відразу згадали кількох конкурентів. Проте Обрізан планує зосередитись на розвитку саме інструментів діагностики та виправлення проблем у вебтестах—без дублювання функціоналу таск-трекерів типу TestRail.
Що попереду: інновації з інтеграцією штучного інтелекту
В планах розробника є створення скіла та CLI-утиліти для інтеграції Testinel з агентами на основі ШІ. Наразі, за його словами, такі агенти самі по собі не вирішують проблеми стріму подій у реальному часі та хмарного збереження діагностичних даних. Поєднання цих технологій має значно розширити функціональні можливості продукту.
Для команд, які працюють з Python, pytest, Selenium або Playwright, сервіс доступний безкоштовно. Ознайомитись із продуктом і випробувати його можна на офіційному сайті testinel.dev.