Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Giofelix/Proyecto-automatizacion-Empresa/llms.txt
Use this file to discover all available pages before exploring further.
playwright.config.js es el archivo central de configuración de automation-arqc. Define el comportamiento de toda la suite: dónde están los tests, cuántos workers correr, qué tan largo esperar antes de fallar, qué reportes generar, y cómo configurar el navegador. El archivo adapta automáticamente su comportamiento según el contexto de ejecución: cuando la variable de entorno process.env.CI está definida (en Jenkins), activa retries más agresivos, habilita más workers, y previene que un test.only() accidental pase desapercibido.
Configuración completa
playwright.config.js
Parámetros explicados
| Parámetro | Valor local | Valor CI | Descripción |
|---|---|---|---|
testDir | ./suites | ./suites | Directorio raíz donde Playwright busca archivos *.spec.js |
globalSetup | ./playwright/global-setup.js | igual | Script que corre una sola vez antes de todos los tests — ejecuta el login Angular y guarda la sesión en playwright/.auth/user.json |
globalTeardown | ./playwright/global-teardown.js | igual | Script que corre una sola vez al finalizar todos los tests — cierra la sesión y elimina user.json |
fullyParallel | true | true | Los tests dentro de un mismo archivo corren en paralelo (no solo entre archivos) |
forbidOnly | false | true | Si es true, la presencia de test.only() en cualquier archivo hace fallar el build entero |
retries | 1 | 2 | Número de reintentos automáticos antes de marcar el test como fallido — 1 en local cubre fallos transitorios de red sobre VPN |
timeout | 240000 ms | 240000 ms | Timeout por test completo (4 minutos) — amplio para acomodar la lentitud del servidor Angular remoto |
workers | 1 | 2 | Número de procesos workers paralelos — 1 en local evita condiciones de carrera en user.json |
locale | es-ES | es-ES | Idioma del navegador y formato de fechas/números |
timezoneId | America/Bogota | America/Bogota | Zona horaria del navegador — crítica para campos de fecha en el sistema tributario |
navigationTimeout | 120000 ms | 120000 ms | Tiempo máximo para que una navegación complete — 2 minutos para cubrir el servidor Angular sobre VPN |
actionTimeout | 45000 ms | 45000 ms | Tiempo máximo para que una acción de usuario (clic, fill, etc.) complete |
trace | retain-on-failure | retain-on-failure | Guarda la traza Playwright solo cuando el test falla |
screenshot | only-on-failure | only-on-failure | Toma captura de pantalla solo cuando el test falla |
video | retain-on-failure | retain-on-failure | Graba video solo cuando el test falla |
Reporters
La suite utiliza tres reporters en paralelo para cubrir diferentes necesidades de visibilidad:list
Reporter de consola. Imprime cada test con su resultado (
✓ / ✗) en tiempo real durante la ejecución. Es la salida principal que Jenkins captura en el log de la etapa de pruebas.allure-playwright
Reporter primario. Genera los artefactos en
allure-results/ para construir el reporte Allure interactivo. Incluye detail: true para capturar pasos, adjuntos y trazas, e inyecta node_version y os_platform en la sección de entorno del reporte.html
Reporter de respaldo local. Genera un reporte HTML autónomo en
playwright-report/ con open: 'never' para que no intente abrir el navegador en CI. Útil cuando Allure no está disponible o para compartir un reporte rápido sin necesidad del CLI de Allure.Configuración de idioma (locale)
El sistema tributario muestra fechas, separadores de miles y textos en español colombiano. Para evitar fallos en selectores de fecha y aserciones de texto, el localees-ES se configura en tres capas redundantes:
use.locale— define el locale del contexto de navegador de Playwrightuse.extraHTTPHeaders— envíaAccept-Language: es-ES,es;q=0.9en todas las peticiones HTTPuse.launchOptions.args— pasa--lang=es-ES,--accept-lang=es-ESy--force-renderer-locale=es-ESdirectamente a Chromium
forbidOnly: !!process.env.CI convierte test.only() en un error de compilación cuando la variable CI está definida. Esto protege el pipeline de Jenkins de ejecuciones accidentales con scope reducido: si un desarrollador deja un test.only() en el código y hace push, la etapa de pruebas fallará inmediatamente con el mensaje "Error: focused items are not allowed" antes de correr ningún test.