Este módulo cubre las pruebas end-to-end de la aplicación DevJobs usando dos enfoques: el clásico con Playwright y uno experimental basado en IA con Stagehand, que permite interactuar con el navegador a través de instrucciones en lenguaje natural.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/midudev/jscamp/llms.txt
Use this file to discover all available pages before exploring further.
Lo que aprenderás
- Configurar y ejecutar el test runner de Playwright
- Navegar y hacer assertions con
page.goto,locatoryexpect - Seleccionar elementos con roles ARIA, texto y
data-testid - Configuración headless y parallel en CI
- Automatización de tests con IA usando Stagehand y modelos LLM
- Uso del agente
computer-usepara acciones de navegación autónoma
Sub-proyectos
El módulo05-testing/ contiene dos sub-proyectos independientes:
e2e/
Tests E2E con Playwright sobre la app DevJobs corriendo en
localhost:5173.ai-e2e-test/
Tests experimentales con Stagehand que utilizan un LLM para navegar y validar páginas con lenguaje natural.
Playwright E2E
Configuración: playwright.config.js
fullyParallel: true— los tests se ejecutan en paralelo por defecto.forbidOnly— en CI falla el build si se dejótest.onlyaccidentalmente.retries: 2— reintenta tests fallidos en CI para evitar flakiness.workers: 1— en CI los tests corren en serie para estabilidad.headless: false— el navegador se abre en modo visible en local.reporter: 'html'— genera un reporte HTML navegable.
Test: example.spec.js
- Navega a
http://localhost:5173 - Busca ofertas con la palabra “React” usando el searchbox
- Hace clic en el botón “Buscar”
- Verifica que la primera tarjeta de empleo sea visible y tenga el título esperado
- Inicia sesión para desbloquear el botón de aplicar
- Hace clic en “Aplicar” y verifica que el botón cambia a “Aplicado”
Ejecutar Tests con Playwright
Asegúrate de que la app DevJobs esté corriendo
El test apunta a
http://localhost:5173. Arranca el frontend de DevJobs antes de ejecutar los tests.Tests con IA: Stagehand
Stagehand es una librería de @browserbasehq que integra un LLM directamente en el bucle de automatización del navegador. En lugar de escribir selectores manualmente, describes en lenguaje natural lo que quieres que haga el agente.Archivo: test-ai.js
¿Cómo funciona Stagehand?
Inicialización
Se crea una instancia de
Stagehand con env: 'LOCAL' (navegador local) y se especifica el modelo LLM base.Creación del agente
stagehand.agent() crea un agente con modo CUA (Computer Use Agent) usando el modelo openai/computer-use-preview, especializado en interactuar con interfaces gráficas.Navegación inicial
page.goto() lleva el navegador a la URL objetivo. A partir de aquí el agente toma el control.Ejecución en lenguaje natural
agent.execute() recibe una instrucción en inglés/español y el modelo LLM decide qué clicks, scrolls y acciones realizar para cumplirla.Ejecutar Tests con Stagehand
A diferencia de Playwright, Stagehand no usa un test runner propio. El archivo
test-ai.js utiliza el módulo nativo node:test de Node.js, por lo que se ejecuta directamente con node.