playwright-autopilot
Playwright Autopilot
¿Usas Selenium, Cypress o WebDriverIO? E2Epilot lleva el mismo motor de triaje basado en IA a 6 frameworks, incluyendo Selenium Java, SeleniumBase y más. Sitio web: e2epilot.com | npm: @e2epilot/cli
Un plugin para Claude Code que depura y corrige pruebas E2E de Playwright de forma autónoma. Ejecuta tus pruebas con captura completa de acciones (instantáneas del DOM, peticiones de red, salida de consola, capturas de pantalla), investiga los fallos como un ingeniero de QA senior y aplica la corrección.
https://github.com/user-attachments/assets/26f734a5-d05e-41c9-bc3f-2b58561c2ce0
Inicio rápido
# Add the marketplace
/plugin marketplace add kaizen-yutani/playwright-autopilot
# Install the plugin
/plugin install kaizen-yutani/playwright-autopilotLuego, pídele a Claude que corrija una prueba fallida o que realice el triaje de toda tu suite:
/playwright-autopilot:fix-e2e tests/checkout.spec.ts
/playwright-autopilot:triage-e2e e2eO simplemente describe lo que necesitas: Claude utilizará las herramientas MCP automáticamente:
Fix all failing e2e tests in the "e2e" projectRelated MCP server: Browser Testing MCP Server
Qué hace
Cada acción del navegador durante la ejecución de una prueba se captura con:
Instantáneas del DOM antes/después — árbol aria de la página antes y después de cada clic, relleno o navegación
Peticiones de red — URL, método, estado, tiempos, cuerpos de petición/respuesta
Salida de consola — errores, advertencias y registros vinculados a la acción que los produjo
Capturas de pantalla — capturadas en el momento del fallo
Cuando una prueba falla, Claude no adivina: lee el estado real de la página, comprueba las llamadas a la API fallidas y rastrea la causa raíz a través de la línea de tiempo de acciones.
Cómo funciona
1. Hook de captura
Un hook CJS ligero (captureHook.cjs) se inyecta mediante NODE_OPTIONS --require en los procesos de trabajo de prueba de Playwright. Aplica un monkey-patch a BrowserContext._initialize para añadir un oyente de instrumentación que captura cada acción del navegador con contexto completo. No se requiere ninguna modificación en el código fuente de Playwright; funciona con cualquier instalación de Playwright.
2. Herramientas MCP
El plugin expone 37 herramientas a través del Model Context Protocol que Claude llama bajo demanda. Esto es eficiente en cuanto a tokens por diseño: en lugar de volcar trazas completas en el contexto, Claude extrae solo lo que necesita:
Ejecución y depuración de pruebas:
Herramienta | Propósito |
| Listar proyectos de Playwright desde la configuración |
| Descubrir archivos y casos de prueba |
| Ejecutar pruebas con captura de acciones, detección de inestabilidad ( |
| Resumen de error + DOM + red + consola |
| Toda la evidencia de fallo en una sola llamada, lista para Jira |
| Archivo de informe HTML o JSON autónomo |
| Análisis de brechas de cobertura de pruebas |
| Línea de tiempo de acciones paso a paso |
| Análisis profundo de una sola acción |
| Árbol Aria antes/después de una acción |
| Qué cambió en el DOM |
| Peticiones de red con filtrado |
| Salida de consola con filtrado |
| Captura de pantalla del fallo como imagen |
| Archivo de prueba con la línea fallida resaltada |
| Buscar elementos específicos en el DOM |
| Indexar todos los objetos de página y métodos |
| Leer flujos de aplicación almacenados |
| Guardar un recorrido de usuario verificado |
| Flujos + índice de objetos de página en una llamada |
| Escaneo automático de especificaciones para un mapa de flujo preliminar |
| Ejecución automática de pruebas no cubiertas y guardado de sus flujos |
| Panel de salud de la suite: tendencias de tasa de éxito, puntuaciones de inestabilidad, desglose por categorías |
| Guardar una ejecución de triaje categorizada para seguimiento de tendencias |
| Leer ajustes de triaje (configuración de Jira, umbral de inestabilidad) |
Exploración interactiva del navegador:
Herramienta | Propósito |
| Abrir una URL (inicia el navegador automáticamente) |
| Volver atrás en el historial del navegador |
| Capturar árbol de accesibilidad ARIA con marcadores |
| Hacer clic en un elemento por referencia |
| Escribir en un campo de entrada, opcionalmente enviar |
| Rellenar múltiples campos de formulario en una llamada |
| Seleccionar una opción de menú desplegable |
| Presionar una tecla (Enter, Escape, Tab, etc.) |
| Pasar el ratón sobre un elemento |
| Capturar una captura de pantalla PNG |
| Establecer cabeceras HTTP personalizadas (solo mismo origen por seguridad CORS) |
| Cerrar el navegador |
Las herramientas browser_* inician una instancia real de Chrome y permiten a Claude explorar tu aplicación de forma interactiva: navegar por páginas, hacer clic en elementos, rellenar formularios y observar el estado de la página a través de instantáneas ARIA. Cada interacción devuelve tiempos, peticiones de red, cambios en el DOM y una instantánea actualizada. Úsalo para entender una aplicación antes de escribir pruebas, depurar problemas de UI visualmente o verificar correcciones.
3. Memoria de flujos
Después de corregir (o verificar) una prueba, el plugin guarda el flujo de aplicación confirmado: la secuencia de interacciones de usuario que conforman el camino feliz (happy path). Estos flujos persisten en .e2e-flows.json y se acumulan entre sesiones.
La próxima vez que esa prueba falle, Claude ya conocerá el recorrido de usuario previsto y saltará directamente a identificar qué cambió. El agente se vuelve más rápido con el tiempo.
4. Detección de inestabilidad (Flaky tests)
Dos modos complementarios para identificar pruebas inestables:
retries: N — Ejecuta la prueba N+1 veces en procesos de Playwright separados. Cada ejecución obtiene su propio runId con captura completa de acciones. Devuelve un veredicto: FLAKY, CONSISTENT PASS o CONSISTENT FAIL. Ideal para depurar con 2-3 reintentos.
e2e_run_test(location: "tests/checkout.spec.ts:15", retries: 2)repeatEach: N — repeat-each nativo de Playwright. Todas las iteraciones en un solo proceso. Prueba de estrés rápida para confirmar la inestabilidad: usa 30-100 para mayor confianza.
e2e_run_test(location: "tests/checkout.spec.ts:15", repeatEach: 40)5. Paquetes de evidencia
e2e_get_evidence_bundle empaqueta toda la evidencia de fallo en una sola respuesta: error, pasos para reproducir, línea de tiempo de acciones, peticiones de red fallidas con cuerpos, errores de consola, instantánea del DOM y capturas de pantalla. Reemplaza llamar a más de 6 herramientas por separado.
Pasa outputFile: true para escribir un archivo markdown en test-reports/ para adjuntos en Jira.
6. Informes HTML
Las ejecuciones por lotes (sin location) generan automáticamente un informe HTML autónomo con:
Resumen de éxito/fallo con insignias de estado
Secciones plegables por prueba
Líneas de tiempo de acciones, peticiones de red fallidas, errores de consola
Instantáneas del DOM en los puntos de fallo
Capturas de pantalla como imágenes base64 en línea
Los informes se escriben en test-reports/report-<runId>.html. También puedes llamar a e2e_generate_report manualmente para cualquier ejecución.
7. Triaje de suite y seguimiento de salud
Ejecuta toda tu suite, clasifica cada fallo y produce un informe listo para la gestión:
/playwright-autopilot:triage-e2e e2eClaude clasifica cada fallo como Problema conocido, Error de aplicación, Actualización de prueba, Inestable o Nuevo fallo: hace referencia cruzada con Jira para tickets existentes, crea nuevos tickets para errores de aplicación con paquetes de evidencia y guarda la ejecución de triaje para el seguimiento de tendencias.
e2e_get_stats proporciona un panel de salud de la suite: tendencias de tasa de éxito, pruebas inestables clasificadas por puntuación, desglose de categorías de fallos y nuevos fallos, todo desde el historial local sin ejecutar pruebas.
9. Análisis de cobertura
e2e_suggest_tests escanea todo tu proyecto para encontrar brechas de cobertura:
Métodos de objetos de página no probados — métodos en archivos
.page.ts/.service.tsque ninguna especificación llamaVariantes de flujo faltantes — flujos con precondiciones (ej. "no existe borrador") que carecen de una variante de continuación
Pasos de flujo no cubiertos — acciones listadas en flujos confirmados que ninguna especificación ejercita
10. Conciencia de arquitectura
Antes de escribir cualquier corrección, el plugin escanea tu proyecto en busca de objetos de página, capas de servicio y fixtures de prueba. Sigue tus patrones existentes:
Utiliza tus métodos de Page Object Model en lugar de escribir llamadas crudas de Playwright
Respeta tu separación de capa de negocio/servicio
Utiliza
getByRole(),getByTestId(), aserciones web-firstProduce diferencias mínimas — típicamente una o dos líneas añadidas
Filosofía de depuración
El plugin sigue una metodología de diagnóstico estricta:
Piensa en flujos de usuario, no en selectores. Antes de tocar el código, mapea el recorrido de usuario previsto. Cuando falta un paso (un menú desplegable nunca seleccionado, un campo obligatorio nunca rellenado), encuentra el método de objeto de página existente y añade la llamada.
Cuatro categorías de causa raíz:
Paso de prueba faltante — la prueba omite una interacción de UI que la aplicación requiere
Error en el código de prueba — selector incorrecto, aserción obsoleta, datos de prueba incorrectos
Error de aplicación — la aplicación misma está rota (reportado, no evadido)
Estado sucio — restos de ejecuciones de prueba anteriores que interfieren
Sin trucos. El plugin nunca usará page.evaluate(), page.route(), page.addInitScript() o cualquier inyección de JavaScript para evitar una prueba fallida. Si la corrección requiere eso, está resolviendo el problema equivocado.
Configuración
Configuración multiproyecto
Si tu proyecto de Playwright vive en un directorio diferente al lugar donde se ejecuta Claude Code, establece la variable de entorno PW_PROJECT_DIR en .mcp.json:
{
"mcpServers": {
"playwright-autopilot": {
"command": "node",
"args": ["path/to/plugin/server/mcp-server.js"],
"env": {
"PW_PROJECT_DIR": "/path/to/your/playwright/project"
}
}
}
}Requisitos
CLI de Claude Code
Proyecto de prueba de Playwright
Node.js 20+
Licencia
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Playwright selector risk checks with healing suggestions and receipts.
Run multi-step tasks in a real Chrome browser: persistent environments, live view, human takeover.
Browser-based QA for AI-built software. Test pages with real browsers via agents.
AI QA that runs your app in a browser on every pull request: projects, test targets, test cases.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables 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.34923MIT
- FlicenseNot gradedqualityDmaintenanceEnables automated browser testing of web applications using Playwright, supporting user interactions, form submissions, console monitoring, network request inspection, and visual verification through screenshots.
- 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 gradedqualityBmaintenanceEnables browser automation and smoke testing via Playwright, with tools for navigation, DOM interaction, screenshots, network capture, and more.132MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kaizen-yutani/playwright-autopilot'
If you have feedback or need assistance with the MCP directory API, please join our Discord server