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.

automation-arqc separa la configuración sensible del código fuente usando variables de entorno. En desarrollo local, estas variables se cargan desde un archivo .env en la raíz del proyecto mediante dotenv. En el pipeline de Jenkins, las credenciales se inyectan desde el almacén de credenciales de Jenkins y las variables de entorno del agente — el archivo .env nunca llega al servidor CI. Esta separación garantiza que contraseñas y URLs de entorno nunca queden comprometidas en el historial de Git.

Variables del archivo .env

Estas son las variables que debes definir en tu archivo .env local antes de ejecutar cualquier test.
BASE_URL
string
required
URL base de la aplicación bajo prueba, incluyendo la barra final y el nombre de la entidad municipal. Ejemplo: http://172.17.1.214:9080/pasto/. Esta URL es consumida directamente por auth.fixture.js en page.goto(process.env.BASE_URL, ...) y por los fixtures Reteica al crear contextos de browser independientes.
USER_ADMIN
string
required
Usuario administrador con permisos completos sobre los módulos Reteica. Utilizado por playwright/global-setup.js para ejecutar el login inicial de Angular y generar la sesión cacheada en playwright/.auth/user.json.
PASS_ADMIN
string
required
Contraseña del usuario administrador. Utilizada junto con USER_ADMIN en el flujo de login de global-setup.js. Nunca debe hardcodearse en el código fuente ni aparecer en logs.
TIMEOUT
number
default:"30000"
Timeout general en milisegundos para operaciones que no tienen un timeout explícito en playwright.config.js. El valor por defecto es 30000 ms (30 segundos). Para entornos con servidores lentos sobre VPN, puede aumentarse a 60000.
ENV
string
default:"desarrollo"
Identificador del entorno de ejecución. Valores válidos: desarrollo, staging, produccion. Usado para condicionamiento en suites/config-ambientes/ambientes.js y para etiquetar los resultados de Allure con el contexto de ejecución.

Plantilla .env.example

El repositorio incluye una plantilla lista para copiar. Nunca modifiques este archivo directamente — cópialo a .env y completa los valores reales:
.env.example
# ============================================
# PROYECTO: Automatización Playwright
# ============================================
# Instrucciones:
# 1. Copia este archivo y renómbralo a .env
# 2. Completa los valores reales
# 3. NUNCA subas .env al repositorio
# ============================================

# ---------- OBLIGATORIAS ----------
# URL base de la aplicación (sin barra al final)
BASE_URL=

# Credenciales de administrador
USER_ADMIN=
PASS_ADMIN=

# ---------- OPCIONALES ----------
# Tiempo de espera en milisegundos (por defecto: 30000)
TIMEOUT=30000

# Entorno: desarrollo, staging, produccion (por defecto: desarrollo)
ENV=desarrollo

# ---------- EJEMPLO CON VALORES REALES ----------
# BASE_URL=https://opensource-demo.orangehrmlive.com
# USER_ADMIN=Admin
# PASS_ADMIN=admin123
# TIMEOUT=30000
# ENV=desarrollo
Para configurar el entorno desde cero:
# Windows
copy .env.example .env

# macOS / Linux
cp .env.example .env

# Luego editar .env con los valores reales y generar la sesión
node playwright/global-setup.js

Variables de CI (Jenkins)

En el pipeline de Jenkins, las variables se inyectan a nivel de agente y de credenciales — no existe un archivo .env en el workspace de CI.
VariableValor en JenkinsDescripción
CI'true'Activada por Jenkins en todas las etapas. Cambia el comportamiento de playwright.config.js: habilita forbidOnly, aumenta retries a 2, y usa 2 workers en paralelo.
PLAYWRIGHT_BROWSERS_PATH/home/ubuntu/.cache/playwright-browsersRuta al caché de binarios de Chromium en el agente automatico_196. Evita descargar el navegador en cada build usando la caché existente del agente.
LANGes_ES.UTF-8Locale del sistema operativo del agente durante la ejecución de pruebas — asegura que la salida de texto en consola y los archivos de log estén en UTF-8.
LANGUAGEes_ES.UTF-8Variable complementaria de locale del agente Linux.
LC_ALLes_ES.UTF-8Fuerza el locale en todos los subsistemas del agente, incluyendo la comparación de strings y el formato de fechas en Node.js.
BASE_URLVaría por entidadEn Deployment Mode, Jenkins construye esta variable automáticamente como http://172.17.1.214:9080/{entidad}/ según el parámetro de entidad del pipeline. Sobrescribe cualquier valor de .env.

Credenciales inyectadas desde el almacén de Jenkins

Las credenciales del administrador no se almacenan como variables de entorno del agente — se inyectan desde el almacén seguro de credenciales de Jenkins directamente en el scope del pipeline:
Credential ID en JenkinsVariable de entorno inyectada
USER_GENERICUSER_ADMIN (expuesta al proceso Node)
PASSWORD_UNIVERSALPASS_ADMIN (expuesta al proceso Node)
Estas credenciales son del tipo Secret text en Jenkins y se enmascaran automáticamente en los logs del build — nunca aparecen en texto plano en la salida de consola.
El archivo .env está listado en .gitignore y nunca debe commitearse al repositorio. Contiene contraseñas de administrador y URLs de sistemas productivos. Si accidentalmente se hace push de un .env con credenciales reales, rota las contraseñas inmediatamente y limpia el historial de Git con git filter-branch o git filter-repo.
En Deployment Mode, Jenkins reconstruye BASE_URL automáticamente como http://172.17.1.214:9080/{entidad}/ para cada entidad municipal configurada en el pipeline. Esto permite ejecutar la misma suite contra múltiples municipios en un solo build parametrizado, sin necesidad de modificar ningún archivo de configuración entre ejecuciones.

Build docs developers (and LLMs) love