Skip to main content

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.

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 (archivo .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.
BASE_URL
string
required
URL base de la aplicación bajo prueba. Debe incluir el path de contexto y no terminar en barra diagonal.
BASE_URL=http://172.17.1.214:9080/pasto/
USER_ADMIN
string
required
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.
USER_ADMIN=admin
PASS_ADMIN
string
required
Contraseña del usuario administrador. Se inyecta directamente en el formulario de login Angular durante la fase de setup global.
PASS_ADMIN=s3cr3t
TIMEOUT
number
default:"30000"
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.
TIMEOUT=30000
ENV
string
default:"desarrollo"
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.
ENV=desarrollo
El archivo .env nunca debe subirse al repositorio Git. Ya está incluido en .gitignore, pero verifica siempre con git status que no aparezca como archivo rastreado antes de hacer un commit. Si necesitas compartir la configuración con un compañero, hazlo fuera del repositorio (por ejemplo, vía el gestor de secretos corporativo).

Parámetros de Playwright

Los siguientes parámetros están definidos en playwright.config.js y controlan el comportamiento del runner en los dos entornos principales.
ParámetroLocalCIDescripción
timeout240 000 ms240 000 msTiempo máximo por test completo. Ampliado para tolerar la latencia del servidor Angular sobre VPN.
navigationTimeout120 000 ms120 000 msTiempo máximo para que una navegación (goto, waitForURL) complete.
actionTimeout45 000 ms45 000 msTiempo máximo por acción individual (click, fill, select).
retries12Número de reintentos automáticos ante un fallo. En CI se añade un reintento extra para absorber flakiness de red.
workers12Número de tests paralelos. En local se fuerza a 1 para evitar condiciones de carrera en user.json y no saturar el servidor.
localees-ESes-ESIdioma del navegador Chromium y de las cabeceras HTTP Accept-Language.
timezoneIdAmerica/BogotaAmerica/BogotaZona horaria del contexto de navegador, necesaria para que los campos de fecha del sistema tributario muestren valores correctos.
BrowserChromiumChromiumÚnico navegador soportado. Firefox y WebKit están deshabilitados en la configuración.

Extracto de playwright.config.js

export default defineConfig({
  testDir: './suites',
  globalSetup: './playwright/global-setup.js',
  globalTeardown: './playwright/global-teardown.js',
  fullyParallel: true,
  forbidOnly: !!process.env.CI,
  retries: process.env.CI ? 2 : 1,
  timeout: 240000,
  workers: process.env.CI ? 2 : 1,
  use: {
    locale: 'es-ES',
    timezoneId: 'America/Bogota',
    navigationTimeout: 120000,
    actionTimeout: 45000,
    trace: 'retain-on-failure',
    screenshot: 'only-on-failure',
    video: 'retain-on-failure',
  },
  projects: [
    {
      name: 'chromium',
      use: {
        ...devices['Desktop Chrome'],
        locale: 'es-ES',
      },
    },
  ],
});

Artefactos en fallo

Cuando un test falla, Playwright guarda automáticamente tres tipos de artefactos en test-results/<nombre-test>/. Estos artefactos son la herramienta principal de diagnóstico tanto en local como en Jenkins.
ParámetroValorComportamiento
traceretain-on-failureGraba 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.
screenshotonly-on-failureCaptura una imagen PNG del estado del navegador en el momento exacto del fallo.
videoretain-on-failureGraba 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.
# Inspeccionar un trace localmente
npx playwright show-trace test-results/terceros-crud-fallo/trace.zip
En Jenkins, los artefactos se archivan automáticamente en la etapa Post del pipeline y se descargan desde la sección Build Artifacts del build correspondiente.
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.

Build docs developers (and LLMs) love