Volver al blog

E2E Testing en CI: ejecución headless y reporting

·2 min de lectura

El desafío del E2E en CI

Los tests E2E son los más lentos y frágiles de la suite. Ejecutarlos en CI requiere configuración cuidadosa: navegadores headless, manejo de timeouts, captura de evidencias y reporting.

Configuración headless en Playwright

// playwright.config.ts
export default defineConfig({
  use: {
    headless: true,
    screenshot: 'only-on-failure',
    video: 'retain-on-failure',
  },
});

Paralelismo

Playwright ejecuta tests en paralelo por defecto usando workers. Configura el número según los cores de tu CI.

export default defineConfig({
  workers: process.env.CI ? 4 : undefined,
});

Sharding

Distribuye los tests entre múltiples máquinas en CI para reducir el tiempo total:

npx playwright test --shard=1/4
npx playwright test --shard=2/4

Captura de evidencias

Configura screenshots y video solo en fallo. Así ahorras espacio pero tienes evidencia cuando un test falla.

Reporting

Playwright genera reportes HTML y JSON. En CI, usa el reporte JSON para integrar con tu dashboard.

npx playwright test --reporter=html,json

Estrategias anti-flake

  • Usa auto-wait de Playwright en lugar de timeouts manuales.
  • Aísla tests: cada test crea sus propios datos.
  • Retry: retries: 2 para tests inestables conocidos.

¿Quieres E2E confiable en CI? En Vynta configuramos pipelines de testing robustos.

Artículos relacionados

¿Tienes un proyecto en mente?

Hablemos