Framework de automatización E2E (End-to-End) para la interfaz de usuario de OrangeHRM. Combina la potencia de Playwright con el enfoque BDD (Cucumber) para crear pruebas legibles, estables y fáciles de mantener en Node.js.
- Enfoque BDD (Cucumber): Escenarios escritos en Gherkin legibles tanto para perfiles técnicos como de negocio (QA, Devs, Product Owners).
- Patrón Page Object Model (POM): Implementación de clases dedicadas para cada página y un PO Manager centralizado para evitar la redundancia de código.
- Esperas automáticas: Uso de la sincronización nativa de Playwright (auto-waiting) para reducir la necesidad de sleeps manuales y evitar flujos inestables.
- Manejo de capturas en fallos: Configuración de hooks para capturar automáticamente la pantalla en formato Base64 y guardarla localmente en caso de que un escenario falle.
- Reportes HTML: Generación automática de reportes interactivos al finalizar cada ciclo de ejecución.
Estas instrucciones te permitirán obtener una copia del proyecto en funcionamiento en tu máquina local.
- Clonar el proyecto desde el repositorio.
- Tener instalado Node.js (versión 18 o superior recomendada).
- Instalar dependencias: Ejecuta el siguiente comando en la terminal:
npm install
- Instalar los navegadores de Playwright:
npx playwright install chromium
El proyecto incluye scripts en package.json y accesos directos .bat para facilitar la ejecución interactiva en Windows:
npm run test: Ejecuta todos los escenarios de prueba en la consola.npm run test:report: Ejecuta las pruebas y genera automáticamente el reporte visual HTML.npm run test:tags -- --tags "@Login": Corre escenarios específicos filtrados por etiquetas (tags).
Ejecutar con Cucumber.bat: Corre todas las pruebas E2E en consola.Ejecutar con Cucumber - Reporte.bat: Corre las pruebas, genera el reporte y lo abre de forma automática en tu navegador web.Ejecutar con Cucumber - Tags.bat: Ejecuta pruebas específicas pidiéndote en consola qué tag deseas correr (ej.@Logino@Buscar).
playwright/
├── features/ # Escenarios en lenguaje Gherkin y definiciones de pasos.
│ ├── steps/ # steps.js - Traducción y mapeo de Gherkin a JS.
│ ├── support/ # hooks.js - Inicialización de navegadores, contextos y capturas de fallos.
│ ├── Buscar_usuario.feature
│ └── Login_Orange_HRM.feature
├── pageObjects/ # Clases que abstraen y organizan la interfaz de usuario (POM).
│ ├── Admin_Page.js # Selectores y métodos para el módulo administrativo.
│ ├── Login_Page.js # Selectores y métodos para el formulario de login.
│ └── PO_Manger.js # Administrador central que inicializa todas las páginas.
├── cucumber.js # Configuración del ejecutor de Cucumber.js.
├── playwright.config.js # Configuración global y capacidades de Playwright.
├── package.json # Dependencias, metadatos y scripts del proyecto.
├── .gitignore # Definición de archivos excluidos del repositorio.
└── README.md # ¡Estás aquí!
- Inicio de Sesión (Login): Flujos parametrizados que validan el comportamiento ante credenciales incorrectas (mostrando alertas de error) y accesos válidos (redirigiendo correctamente al Dashboard).
- Búsqueda Dinámica de Usuarios: Automatización del flujo administrativo que ingresa al módulo 'Admin', realiza filtros de búsqueda por nombre de usuario, rol y estado de cuenta, y valida la coincidencia en la grilla de datos.
- Captura de Pantalla en Errores: Integración transparente a nivel de hooks que realiza un screenshot automático al momento de ocurrir un fallo, permitiendo una rápida identificación del problema.
The MIT License (MIT).