playwright-autopilot
Playwright Autopilot
Используете Selenium, Cypress или WebDriverIO? E2Epilot предоставляет тот же движок AI-триажа для 6 фреймворков, включая Selenium Java, SeleniumBase и другие. Веб-сайт: e2epilot.com | npm: @e2epilot/cli
Плагин для Claude Code, который автономно отлаживает и исправляет E2E-тесты Playwright. Он запускает ваши тесты с полным захватом действий — снимками DOM, сетевыми запросами, выводом консоли, скриншотами — затем исследует сбои, как старший QA-инженер, и применяет исправление.
https://github.com/user-attachments/assets/26f734a5-d05e-41c9-bc3f-2b58561c2ce0
Быстрый старт
# Add the marketplace
/plugin marketplace add kaizen-yutani/playwright-autopilot
# Install the plugin
/plugin install kaizen-yutani/playwright-autopilotЗатем попросите Claude исправить упавший тест или провести триаж всего набора тестов:
/playwright-autopilot:fix-e2e tests/checkout.spec.ts
/playwright-autopilot:triage-e2e e2eИли просто опишите, что вам нужно — Claude автоматически использует инструменты MCP:
Fix all failing e2e tests in the "e2e" projectRelated MCP server: Limetest MCP Server
Что он делает
Каждое действие в браузере во время выполнения теста фиксируется с помощью:
Снимков DOM до/после — дерево aria страницы до и после каждого клика, ввода данных, навигации
Сетевых запросов — URL, метод, статус, время выполнения, тела запросов/ответов
Вывода консоли — ошибки, предупреждения, логи, привязанные к действию, которое их вызвало
Скриншотов — сделанных в момент сбоя
Когда тест падает, Claude не гадает — он считывает фактическое состояние страницы, проверяет неудачные вызовы API и отслеживает первопричину по временной шкале действий.
Как это работает
1. Хук захвата
Легковесный CJS-хук (captureHook.cjs) внедряется через NODE_OPTIONS --require в рабочие процессы тестов Playwright. Он использует monkey-patching для BrowserContext._initialize, чтобы добавить слушатель инструментария, который захватывает каждое действие браузера с полным контекстом. Изменения в исходный код Playwright не требуются — работает с любой установкой Playwright.
2. Инструменты MCP
Плагин предоставляет 37 инструментов через Model Context Protocol, которые Claude вызывает по требованию. Это эффективно с точки зрения токенов — вместо того чтобы выгружать все трассировки в контекст, Claude извлекает только то, что ему нужно:
Выполнение и отладка тестов:
Инструмент | Назначение |
| Список проектов Playwright из конфигурации |
| Обнаружение файлов тестов и сценариев |
| Запуск тестов с захватом действий, обнаружением нестабильности ( |
| Сводка ошибок + DOM + сеть + консоль |
| Все доказательства сбоя в одном вызове — готово для Jira |
| Автономный HTML или JSON отчет |
| Анализ пробелов в покрытии тестами |
| Пошаговая временная шкала действий |
| Глубокое изучение одного действия |
| Дерево Aria до/после действия |
| Что изменилось в DOM |
| Сетевые запросы с фильтрацией |
| Вывод консоли с фильтрацией |
| Скриншот сбоя в виде изображения |
| Файл теста с выделенной строкой сбоя |
| Поиск конкретных элементов в DOM |
| Индексация всех объектов страниц и методов |
| Чтение сохраненных сценариев приложения |
| Сохранение проверенного пользовательского пути |
| Сценарии + индекс объектов страниц в одном вызове |
| Автоматическое сканирование спецификаций для карты сценариев |
| Автоматический запуск непокрытых тестов и сохранение их сценариев |
| Дашборд состояния набора тестов: тренды успешности, показатели нестабильности, разбивка по категориям |
| Сохранение категоризированного прогона триажа для отслеживания трендов |
| Чтение настроек триажа (конфигурация Jira, порог нестабильности) |
Интерактивное исследование браузера:
Инструмент | Назначение |
| Открытие URL (автоматически запускает браузер) |
| Назад в истории браузера |
| Захват дерева доступности ARIA с маркерами |
| Клик по элементу по ссылке |
| Ввод текста в поле, опционально отправка |
| Заполнение нескольких полей формы за один вызов |
| Выбор опции в выпадающем списке |
| Нажатие клавиши (Enter, Escape, Tab и т.д.) |
| Наведение на элемент |
| Захват PNG скриншота |
| Установка пользовательских HTTP-заголовков (только для того же источника для безопасности CORS) |
| Закрытие браузера |
Инструменты browser_* запускают реальный экземпляр Chrome и позволяют Claude интерактивно исследовать ваше приложение — переходить по страницам, кликать элементы, заполнять формы и наблюдать за состоянием страницы через снимки ARIA. Каждое взаимодействие возвращает время выполнения, сетевые запросы, изменения DOM и обновленный снимок. Используйте это, чтобы понять приложение перед написанием тестов, визуально отладить проблемы UI или проверить исправления.
3. Память сценариев
После исправления (или проверки) теста плагин сохраняет подтвержденный сценарий работы приложения — последовательность взаимодействий пользователя, составляющих успешный путь. Эти сценарии сохраняются в .e2e-flows.json и накапливаются в течение сессий.
Когда этот тест сломается в следующий раз, Claude уже будет знать предполагаемый путь пользователя и сразу перейдет к выявлению того, что изменилось. Агент становится быстрее со временем.
4. Обнаружение нестабильности (Flaky tests)
Два взаимодополняющих режима для выявления нестабильных тестов:
retries: N — Запуск теста N+1 раз в отдельных процессах Playwright. Каждый прогон получает свой runId с полным захватом действий. Возвращает вердикт: FLAKY (нестабильный), CONSISTENT PASS (стабильно проходит) или CONSISTENT FAIL (стабильно падает). Лучше всего подходит для отладки с 2-3 повторами.
e2e_run_test(location: "tests/checkout.spec.ts:15", retries: 2)repeatEach: N — Нативный --repeat-each в Playwright. Все итерации в одном процессе. Быстрый стресс-тест для подтверждения нестабильности — используйте 30-100 для уверенности.
e2e_run_test(location: "tests/checkout.spec.ts:15", repeatEach: 40)5. Пакеты доказательств
e2e_get_evidence_bundle упаковывает все доказательства сбоя в один ответ — ошибку, шаги для воспроизведения, временную шкалу действий, неудачные сетевые запросы с телами, ошибки консоли, снимок DOM и скриншоты. Заменяет вызов 6+ инструментов по отдельности.
Передайте outputFile: true, чтобы записать markdown-файл в test-reports/ для вложений в Jira.
6. HTML-отчеты
Пакетные запуски (без location) автоматически генерируют автономный HTML-отчет с:
Сводкой прохождения/сбоев с бейджами статуса
Сворачиваемыми разделами для каждого теста
Временными шкалами действий, неудачными сетевыми запросами, ошибками консоли
Снимками DOM в точках сбоя
Скриншотами в виде встроенных base64 изображений
Отчеты записываются в test-reports/report-<runId>.html. Вы также можете вызвать e2e_generate_report вручную для любого прогона.
7. Триаж набора тестов и отслеживание состояния
Запустите весь набор тестов, классифицируйте каждый сбой и создайте отчет, готовый для руководства:
/playwright-autopilot:triage-e2e e2eClaude классифицирует каждый сбой как Известная проблема, Ошибка приложения, Обновление теста, Нестабильный тест или Новый сбой — сверяется с Jira для существующих тикетов, создает новые тикеты для ошибок приложения с пакетами доказательств и сохраняет прогон триажа для отслеживания трендов.
e2e_get_stats предоставляет дашборд состояния набора тестов — тренды успешности, рейтинг нестабильных тестов, разбивку категорий сбоев и новые сбои — все это на основе локальной истории без необходимости запуска тестов.
9. Анализ покрытия
e2e_suggest_tests сканирует весь ваш проект, чтобы найти пробелы в покрытии:
Непротестированные методы объектов страниц — методы в файлах
.page.ts/.service.ts, которые не вызываются ни в одной спецификацииОтсутствующие варианты сценариев — сценарии с предварительными условиями (например, "черновик не существует"), у которых нет варианта продолжения
Непокрытые шаги сценариев — действия, перечисленные в подтвержденных сценариях, которые не проверяются ни одной спецификацией
10. Архитектурная осведомленность
Перед написанием любого исправления плагин сканирует ваш проект на наличие объектов страниц, уровней сервисов и фикстур тестов. Он следует вашим существующим шаблонам:
Использует методы вашего Page Object Model вместо написания «сырых» вызовов Playwright
Уважает разделение на бизнес-слой/слой сервисов
Использует
getByRole(),getByTestId(), веб-ориентированные утвержденияСоздает минимальные diff-ы — обычно добавление одной или двух строк
Философия отладки
Плагин следует строгой методологии диагностики:
Думайте пользовательскими сценариями, а не селекторами. Прежде чем касаться кода, он отображает предполагаемый путь пользователя. Когда шаг отсутствует — выпадающий список никогда не выбирается, обязательное поле никогда не заполняется — он находит существующий метод объекта страницы и добавляет вызов.
Четыре категории первопричин:
Отсутствующий шаг теста — тест пропускает взаимодействие с UI, которое требует приложение
Ошибка в коде теста — неверный селектор, устаревшее утверждение, плохие тестовые данные
Ошибка приложения — само приложение сломано (сообщается, а не обходится)
Грязное состояние — остатки от предыдущих запусков тестов, создающие помехи
Никаких хаков. Плагин никогда не будет использовать page.evaluate(), page.route(), page.addInitScript() или любую инъекцию JavaScript для обхода упавшего теста. Если для исправления требуются эти методы, значит, решается не та проблема.
Конфигурация
Настройка для нескольких проектов
Если ваш проект Playwright находится в другом каталоге, чем тот, где запущен Claude Code, установите переменную окружения PW_PROJECT_DIR в .mcp.json:
{
"mcpServers": {
"playwright-autopilot": {
"command": "node",
"args": ["path/to/plugin/server/mcp-server.js"],
"env": {
"PW_PROJECT_DIR": "/path/to/your/playwright/project"
}
}
}
}Требования
CLI Claude Code
Тестовый проект Playwright
Node.js 20+
Лицензия
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Approved test intent, reviewed Playwright automation and run evidence, inside your editor.
Discover Playwright workflows, start runs, and inspect results in Playrunner Cloud.
No-code, AI-assisted UI testing: record new tests, run existing ones, and monitor the results.
Playwright selector risk checks with healing suggestions and receipts.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables AI assistants to inspect, debug, and test web pages using Playwright. Provides comprehensive DOM inspection, visibility debugging, layout validation, and element finding capabilities in real browser environments.3482 npm5MIT
- AlicenseNot gradedqualityCmaintenanceEnables automated end-to-end testing powered by Playwright where test cases are defined in natural language and executed by AI. Uses lightweight snapshot analysis with vision mode fallback for sophisticated testing scenarios.3Apache 2.0
- AlicenseNot gradedqualityAmaintenanceEnables browser automation and smoke testing via Playwright, with tools for navigation, DOM interaction, screenshots, network capture, and more.16 npm2MIT
- AlicenseBqualityDmaintenancePlaywright browser automation tuned for single-page apps (React/Vue/Angular) — screenshots, form filling, action chains, persistent sessions and 140+ device presets.22MIT