Автоматизированные тесты, хотя и важны для качества, могут создавать трудности при сопровождении. Интеграция AI в процесс отладки позволяет упростить исправление упавших тестов. Подход заключается в генерации промпта для AI, который включает сообщение об ошибке, фрагмент кода теста и ARIA-снимок страницы. Этот промпт затем добавляется в HTML-отчёт Playwright в виде вложения.
Для автоматической генерации промпта используется специальная фикстура, которая срабатывает, когда тест падает. Важно очистить сообщение об ошибке от ANSI-кодов, получить фрагмент кода, который вызвал ошибку, и создать ARIA-снимок всей страницы. В промпт включаются данные: название теста, сообщение об ошибке, фрагмент кода и ARIA-снимок.
Использование ARIA-снимка страницы позволяет AI генерировать более точные локаторы, основанные на ролях элементов (getByRole, getByLabel и т. д.). Тестирование показывает, что AI успешно справляется с распространенными проблемами, такими как изменение роли элементов, изменение текста и неоднозначность локаторов.
Для оптимизации процесса можно использовать GitHub Copilot Edits, который позволяет вставлять промпт и получать исправления прямо в редакторе кода. В будущем можно улучшить процесс, добавив кнопки "Fix with AI" в Playwright VS Code Extension и в HTML-отчёт, что упростит взаимодействие с AI-агентами. Существует готовый репозиторий с рабочим примером. Для интеграции нужно добавить фикстуру к Playwright и использовать её.
Изображение носит иллюстративный характер
Для автоматической генерации промпта используется специальная фикстура, которая срабатывает, когда тест падает. Важно очистить сообщение об ошибке от ANSI-кодов, получить фрагмент кода, который вызвал ошибку, и создать ARIA-снимок всей страницы. В промпт включаются данные: название теста, сообщение об ошибке, фрагмент кода и ARIA-снимок.
Использование ARIA-снимка страницы позволяет AI генерировать более точные локаторы, основанные на ролях элементов (getByRole, getByLabel и т. д.). Тестирование показывает, что AI успешно справляется с распространенными проблемами, такими как изменение роли элементов, изменение текста и неоднозначность локаторов.
Для оптимизации процесса можно использовать GitHub Copilot Edits, который позволяет вставлять промпт и получать исправления прямо в редакторе кода. В будущем можно улучшить процесс, добавив кнопки "Fix with AI" в Playwright VS Code Extension и в HTML-отчёт, что упростит взаимодействие с AI-агентами. Существует готовый репозиторий с рабочим примером. Для интеграции нужно добавить фикстуру к Playwright и использовать её.