Esta página es la referencia de configuración completa de automation-arqc. Cubre los dos puntos de configuración del proyecto: las variables de entorno que controlan credenciales y comportamiento de ejecución (archivoDocumentation 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.
.env), y los parámetros de Playwright que determinan timeouts, paralelismo, reportes y artefactos de depuración (archivo playwright.config.js). Consulta esta página cada vez que necesites ajustar el comportamiento de la suite en un entorno nuevo.
Variables de entorno
Las variables se definen en el archivo.env (creado a partir de .env.example). Playwright las carga automáticamente al inicio de cada ejecución mediante dotenv desde playwright.config.js.
URL base de la aplicación bajo prueba. Debe incluir el path de contexto y no terminar en barra diagonal.
Usuario administrador utilizado por
global-setup.js para autenticarse y generar la sesión cacheada en playwright/.auth/user.json. Debe tener acceso completo al módulo Reteica.Contraseña del usuario administrador. Se inyecta directamente en el formulario de login Angular durante la fase de setup global.
Tiempo de espera general en milisegundos, disponible como variable de entorno para lógica de espera personalizada en los Page Objects. No afecta directamente los timeouts de Playwright (que se configuran en
playwright.config.js), pero permite ajustar esperas explícitas sin modificar código.Identificador del entorno de ejecución. Se usa en
suites/config-ambientes/ambientes.js para resolver configuraciones específicas por entorno. Valores válidos: desarrollo, staging, produccion.Parámetros de Playwright
Los siguientes parámetros están definidos enplaywright.config.js y controlan el comportamiento del runner en los dos entornos principales.
| Parámetro | Local | CI | Descripción |
|---|---|---|---|
timeout | 240 000 ms | 240 000 ms | Tiempo máximo por test completo. Ampliado para tolerar la latencia del servidor Angular sobre VPN. |
navigationTimeout | 120 000 ms | 120 000 ms | Tiempo máximo para que una navegación (goto, waitForURL) complete. |
actionTimeout | 45 000 ms | 45 000 ms | Tiempo máximo por acción individual (click, fill, select). |
retries | 1 | 2 | Número de reintentos automáticos ante un fallo. En CI se añade un reintento extra para absorber flakiness de red. |
workers | 1 | 2 | Número de tests paralelos. En local se fuerza a 1 para evitar condiciones de carrera en user.json y no saturar el servidor. |
locale | es-ES | es-ES | Idioma del navegador Chromium y de las cabeceras HTTP Accept-Language. |
timezoneId | America/Bogota | America/Bogota | Zona horaria del contexto de navegador, necesaria para que los campos de fecha del sistema tributario muestren valores correctos. |
| Browser | Chromium | Chromium | Único navegador soportado. Firefox y WebKit están deshabilitados en la configuración. |
Extracto de playwright.config.js
Artefactos en fallo
Cuando un test falla, Playwright guarda automáticamente tres tipos de artefactos entest-results/<nombre-test>/. Estos artefactos son la herramienta principal de diagnóstico tanto en local como en Jenkins.
| Parámetro | Valor | Comportamiento |
|---|---|---|
trace | retain-on-failure | Graba un trace ZIP con cada acción, snapshot del DOM, red y consola. Solo se conserva si el test falla. Inspecciona con npx playwright show-trace test-results/<nombre>/trace.zip o en trace.playwright.dev. |
screenshot | only-on-failure | Captura una imagen PNG del estado del navegador en el momento exacto del fallo. |
video | retain-on-failure | Graba un video WebM de toda la ejecución del test. Solo se conserva si falla. Útil para reproducir condiciones de carrera o problemas de timing. |
En el pipeline de Jenkins las credenciales no se leen desde
.env. Se inyectan directamente desde el almacén de credenciales de Jenkins con los IDs USER_GENERIC y PASSWORD_UNIVERSAL, que se mapean a las variables de entorno que necesita global-setup.js. Esto garantiza que los secretos nunca viajan en el sistema de control de versiones ni aparecen en los logs del build.