AntiGem Browser QA
Resumen
Habilidad unificada y eficiente en tokens para pruebas de navegador con browser_mcp nativo de AntiGem (17 herramientas). Cubre 8 aspectos de pruebas mediante divulgación progresiva: flujos exploratorios, formularios/seguridad, diseño/accesibilidad/visual, PWA/fuera de línea/internacionalización, y fragmentos de auditoría en página. Protocolo obligatorio: reutilización de pestañas → bloqueo → descubrimiento basado en referencias → entradas seguras para React → acciones por lotes → puerta de ejecución (consola + red).
Cuándo Usarlo
- Autoría o ejecución de pruebas E2E en aplicaciones web/PWA
- Caza exploratoria de errores (flujos de primer uso, secuencias adversariales)
- Pruebas de límites en formularios, cargas XSS, subidas de archivos, arrastrar y soltar, canvas/WebGL
- Auditorías WCAG 2.1 AA/AAA, reflujo al 200% de zoom, CLS, objetivos táctiles (≥48px/≥60dp)
- Comparación de regresión visual entre línea base y compilación, puntos de interrupción responsive
- Ciclo de vida del Service Worker, sincronización fuera de línea con IndexedDB/Dexie, recorte de glifos/matras Indic
- Puertas de tolerancia cero para errores de consola en tiempo de ejecución / fallos de red
Protocolo de Ejecución Obligatorio
- Reutilización de Pestañas:
browser_list_tabs → reutilizar existente o browser_open_url
- Bloqueo Táctil/Zoom:
browser_lock(locked=true) antes de cadenas de múltiples pasos
- Descubrimiento Basado en Referencias:
browser_find(query="...") (preferido) o browser_read_page(filter="interactive") para árbol ARIA con IDs ref_N estables
- Entradas Seguras para React:
browser_form_input(ref, value) para <input>, <textarea>, <select>, casillas de verificación/interruptores, radios, contenteditable
- Actuación Confiable:
browser_computer (left_click, hover, left_click_drag, key, scroll_to, screenshot, zoom [x0,y0,x1,y1], wait); browser_upload_file para entradas de archivos; browser_handle_dialog para alertas
- Procesamiento por Lotes de Ida y Vuelta:
browser_batch para cadenas deterministas de múltiples pasos
- Puerta de Ejecución (Tolerancia Cero):
browser_get_console_logs(pattern="error|warn") + browser_read_network (recargar primero si la pestaña existía antes de adjuntar MCP) después de cada pantalla
- Desbloquear:
browser_lock(locked=false) al salir
Lista de Verificación Unificada de 8 Aspectos
| # | Aspecto | Puertas de Aprobado/Reprobado |
|---|
| 1 | Exploratorio y Flujos | Simulación de primer uso; navegación multi-ruta; prioridad modal de browser.goBack(); trampas de enfoque; formato de informe de defectos |
| 2 | Formularios y Componentes | Pruebas de límites; recorte numérico; validación en línea al perder el foco; desplazamiento al primer error; doble envío con debounce; sanitización XSS; subida de archivos; arrastrar y soltar; verificación canvas/SVG |
| 3 | Pruebas de Seguridad | Encabezados CSP; inyección de payloads XSS; respaldos de denegación de permisos; banderas de cookies seguras |
| 4 | Diseño, Accesibilidad, Visual | WCAG AA ≥4.5:1 / Luz solar AAA ≥7.0:1 / Rojo escotópico #000000; reflujo al 200% de zoom; CLS ≤0.1; prefers-reduced-motion; objetivos táctiles ≥48px (estándar) / ≥64px (rural); comparación visual línea base vs compilación |
| 5 | PWA, Fuera de Línea, i18n | Ciclo de vida del Manifiesto y SW; ACID de IndexedDB/Dexie + useLiveQuery; simulación fuera de línea + cola de sincronización; recorte de conjunctos/matras Indic; document.documentElement.lang; Lakhs/Crores + tabular-nums |
| 6 | APIs Web y Permisos | navigator.vibrate?.(), denegaciones de permisos de cámara/geo; respaldos de API de hardware |
| 7 | Diagnósticos de Ejecución | Fallo rápido por error de consola; fallo rápido por 4xx/5xx de red; auditorías LCP/memoria mediante browser_eval_js |
| 8 | Móvil y Viewport | Matriz móvil/escritorio de browser_set_view_mode; microinspección con browser_computer(action="zoom") |
Tabla de Referencia Progresiva por Tema
| Enfoque de Tarea | Cargar Referencia |
|---|
| Caza exploratoria de errores, flujos de primer uso, enfoque modal, navegación | references/01-exploratory-and-flows.md |
| Validación de formularios, pruebas de límites, subida de archivos, arrastrar y soltar, canvas, XSS | references/02-forms-components-security.md |
| Auditoría WCAG, contraste, reflujo de zoom, CLS, objetivos táctiles, comparación visual | references/03-layout-a11y-visual.md |
| Ciclo de vida de SW, IndexedDB, sincronización fuera de línea, tipografía Indic, permisos | references/04-pwa-offline-i18n-apis.md |
| Fragmentos de auditoría en página (etiquetas huérfanas, cajas delimitadoras, contraste, SW, IndexedDB) | references/05-eval-js-audit-snippets.md |
Referencia Rápida: Mapeo de Herramientas browser_mcp
| Primitiva Ascendente | Herramienta AntiGem |
|---|
page.fill() / selectOption() / check() | browser_form_input(ref, value) |
page.click() / keyboard.press() / hover() / dragAndDrop() | browser_computer(left_click, hover, left_click_drag, key, scroll_to, ...) |
page.setInputFiles() | browser_upload_file |
page.on('dialog') | browser_handle_dialog(accept=true/false) |
page.evaluate() | browser_eval_js (await de nivel superior, devuelve JSON) |
page.on('console') / page.on('pageerror') | browser_get_console_logs(pattern="...") |
page.on('response') / HAR | browser_read_network |
| Cadenas de múltiples pasos | browser_batch + browser_lock |
| Viewport / captura de pantalla / zoom | `browser_set_view_mode + browser_computer(screenshot |
Errores Comunes
- Omitir
browser_lock → toque/zoom accidental corrompe los IDs de referencia
- Usar coordenadas en lugar de referencias → frágil, se rompe con el reflujo
- No ejecutar la puerta de ejecución → se pasan por alto errores de consola / solicitudes fallidas
- Cargar todas las referencias a la vez → inflación de tokens; cargar bajo demanda según la tabla de temas
- Olvidar
browser_lock(false) → deja la pestaña bloqueada para el usuario
Impacto en el Mundo Real
- Reducción del 90% de tokens frente a capturas completas del DOM mediante
browser_find/browser_read_page(filter="interactive")
- Una sola llamada a
browser_eval_js ejecuta una auditoría de pantalla completa (accesibilidad + geometría + contraste + SW + IndexedDB)
- La puerta de ejecución de tolerancia cero atrapa regresiones antes de que lleguen a los usuarios