Auto-QA: Motor de Pruebas Autónomo Basado en Intenciones
Una cadena de herramientas de pruebas de aseguramiento de calidad web autónoma que ejecuta recorridos de usuario de extremo a extremo contra cualquier aplicación web (servidor de desarrollo local o sitio web en vivo) utilizando intenciones en lenguaje natural, heurísticas de accesibilidad W3C auto-curativas, aislamiento activo de modales y compilación nativa @playwright/test.
1. Regla de Decisión del Modo de Operación Dual
Antes de tomar cualquier acción, inspeccione las herramientas declaradas:
- MODO 1: Modo Herramienta MCP:
Si hay herramientas que comiencen con
auto_qa_(por ejemplo,auto_qa_execute_and_heal) disponibles en su lista de herramientas activas, llámelas directamente a través de JSON-RPC. - MODO 2: Modo CLI de Antigravity Skill CL (Predeterminado y Autónomo):
Si no hay herramientas MCP
auto_qa_*declaradas, ejecute todas las acciones de aseguramiento de calidad medianterun_commandusando la CLI unificada:(Resuelvanode "<skillPath>/scripts/cli.js" <comando><skillPath>en~/.gemini/config/skills/auto-qao en la raíz del repositorio).
2. El Ciclo de Vida de Pruebas en 3 Etapas
Etapa 1: Descubrimiento de Superficie (Mapear Controles Accesibles)
Rastree la URL objetivo para extraer botones interactivos, campos de entrada, enlaces y diálogos modales.
- Modo MCP: Llame a
auto_qa_generate_code_summary(projectPath, url). - Modo CLI de Skill:
node "<skillPath>/scripts/cli.js" discover http://localhost:3000 -o auto_qa_tests/tmp/surface.json
Etapa 2: Creación del Plan de Intención (auto_qa_frontend_test_plan.json)
Cree el plan de prueba declarativo en auto_qa_tests/auto_qa_frontend_test_plan.json.
- Modo MCP: Llame a
auto_qa_generate_frontend_test_plan(projectPath, name, planSteps). - Modo CLI de Skill: Escriba el archivo JSON directamente usando su herramienta de creación de archivos:
{
"$schema": "https://raw.githubusercontent.com/TestSprite/testsprite-cli/main/schemas/plan.schema.json",
"projectId": "nombre-del-proyecto",
"type": "frontend",
"name": "Flujo de Registro e Inicio de Sesión de Usuario",
"targetUrl": "http://localhost:3000",
"priority": "p0",
"planSteps": [
{ "type": "action", "description": "navigate to http://localhost:3000/login" },
{ "type": "action", "description": "type '[email protected]' into 'Email'" },
{ "type": "action", "description": "type 'TestPass123!' into 'Password'" },
{ "type": "action", "description": "click 'Sign In'" },
{ "type": "assertion", "description": "verify 'Dashboard' is visible" },
{ "type": "assertion", "description": "verify URL contains '/dashboard'" }
]
}
Verbos de Intención Soportados (Sin Distinción de Mayúsculas/Minúsculas, Comillas Simples o Dobles):
- Acciones:
navigate to <http(s)://url>/go to </ruta o http(s)://url>type '<texto>' into '<objetivo>'/fill '<texto>' into '<objetivo>'click '<objetivo>'/press '<objetivo>'select '<opción>' from '<objetivo>'check '<objetivo>'/tick '<objetivo>'
- Afirmaciones:
verify '<objetivo>' is visible/appearsverify '<objetivo>' is not visible/disappearsverify text '<texto>'/contains '<texto>'verify URL contains '<ruta>'
Etapa 3: Ejecución, Auto-Curación y Compilación de Código
Ejecute el plan de prueba declarativo con resolución auto-curativa de elementos, capture capturas de pantalla de fallos y exporte código nativo.
- Modo MCP:
- Ejecutar:
auto_qa_execute_and_heal(projectPath, planFile, baseUrl) - Exportar:
auto_qa_compile_to_playwright(planPath, outputPath)
- Ejecutar:
- Modo CLI de Skill:
- Ejecutar Prueba:
(Nota: El código de salida 1 indica un fallo de afirmación durante la prueba. Inspeccionenode "<skillPath>/scripts/cli.js" run auto_qa_tests/auto_qa_frontend_test_plan.json -u http://localhost:3000auto_qa_tests/artifacts/para ver capturas de pantalla yauto_qa_tests/auto-qa-test-report.mdpara ver los tiempos de los pasos y los rastros de errores). - Compilar a Playwright TypeScript Nativo:
node "<skillPath>/scripts/cli.js" compile auto_qa_tests/auto_qa_frontend_test_plan.json -o tests/e2e/flow.spec.ts
- Ejecutar Prueba:
3. Resumen de Subcomandos CLI
| Subcomando | Propósito | Salida Predeterminada |
|---|---|---|
doctor | Verificación previa de Node, Playwright y el binario de Chromium. | Estado en terminal |
discover <url> [-o <archivo>] | Rastrea el sitio web y extrae botones, campos de entrada, enlaces, modales y el árbol de accesibilidad. | Mapa de superficie JSON |
run <archivoPlan> [-u <url>] [-o <directorio>] | Ejecuta el plan de intención con resolución auto-curativa. | auto_qa_tests/artifacts/ + auto-qa-test-report.md |
compile <archivoPlan> [-o <archivo>] | Compila el plan declarativo en .spec.ts nativo de @playwright/test. | <nombrePlan>.spec.ts |
bootstrap [directorio] [-u <url>] | Inicializa auto_qa_tests/tmp/config.json. | config.json |
mcp | Inicia el servidor MCP stdio JSON-RPC 2.0. | Flujo stdio |
4. La Estrategia de Verificación en 5 Capas
Cuando se le pida "Probar todo" o auditar una aplicación web desconocida:
- Capa 1: Navegación y Rutas: Rastree enlaces de la barra de navegación y el pie de página; verifique que no haya respuestas 404.
- Capa 2: Controles Interactivos: Pruebe menús desplegables, acordeones, alternadores de tema y botones de filtro.
- Capa 3: Embudos de Validación de Formularios:
- Camino Feliz: Envíe entradas válidas → verifique el banner de éxito o la actualización del estado.
- Camino de Error: Envíe campos obligatorios vacíos → verifique las alertas de validación en línea.
- Capa 4: Ciclo de Vida de Autenticación: Inicio de sesión válido, rechazo de credenciales inválidas, persistencia de sesión y cierre de sesión.
- Capa 5: Flujos CRUD Principales: Crear elemento → verifique que aparezca listado; modificar elemento → verifique que se haya actualizado; eliminar elemento → verifique que se haya eliminado.