automation-arqc distingue dos niveles de test según el alcance funcional que ejercitan. Los tests de componente prueban una sola pantalla del sistema (navegación, CRUD, validaciones de campo, paginación) y se ejecutan en paralelo de forma independiente. Los tests E2E reproducen un proceso real de usuario que cruza varias pantallas y estados — por ejemplo, crear un tercero, registrarlo como contribuyente, agregarle un establecimiento y presentar una declaración. La regla de clasificación es simple: ¿el test toca una sola URL de módulo? → componente. ¿Recorre varias pantallas para completar un proceso de negocio? → E2E enDocumentation 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.
e2e/.
Nivel Componente vs E2E
| Aspecto | Componente | E2E / Flujo |
|---|---|---|
| Carpeta | suites/Reteica/ | suites/Reteica/e2e/ |
| Nombre de archivo | <modulo>.spec.js | flujo-<proceso>.spec.js |
| Tag obligatorio | @componente | @e2e |
| Pantallas involucradas | 1 sola | Varias |
| Fixture principal | paginaAutenticada | establecimientoData o similar |
| Modo de ejecución | Paralelo (por defecto) | Serial dentro de cada describe |
| Ejemplo | terceros.spec.js | flujo-declaracion-contribuyente.spec.js |
Estructura de carpetas
Sintaxis BDD con gherkin-lite
Todos los tests del proyecto usangherkin-lite para estructurar los pasos del test en bloques given / when / then / and. Esto no afecta la ejecución de Playwright — cada bloque es simplemente una función async envuelta en un nombre de paso — pero hace que los reportes de Allure muestren los pasos con su semántica BDD y facilita la trazabilidad con los casos de Azure DevOps.
El siguiente ejemplo real proviene de suites/Reteica/terceros.spec.js:
Bloques serial vs paralelo
Por defecto Playwright ejecuta los tests dentro de un archivo en paralelo (cada test en su propio worker). Sin embargo, las secuencias CRUD que tienen dependencias de estado entre sí — crear un registro, luego editarlo, luego eliminarlo — deben ejecutarse en orden serial en el mismo worker para que el test de edición encuentre el registro creado por el test anterior. Para esto se usatest.describe.configure({ mode: 'serial' }) dentro del bloque describe correspondiente. El patrón real de terceros.spec.js:
TC-TER-04 (crear) falla, Playwright omite automáticamente TC-TER-05 (editar) y TC-TER-06 (eliminar), evitando errores en cascada por datos faltantes.
Los tests de smoke y validaciones no tienen dependencias entre sí y viven en bloques describe separados sin serial, por lo que Playwright los puede paralelizar:
suites/Reteica/e2e/ son siempre seriales porque cada test del flujo depende del estado dejado por el anterior (p. ej. TC-DEC-002 verifica el recálculo del interés de mora usando la declaración del Periodo 1 creada por TC-DEC-001):
Etiquetado de tests
Las etiquetas (tag) son la principal forma de filtrar la ejecución. Cada test tiene un conjunto de tags que combina: nivel (@smoke, @regression, @e2e), módulo (@terceros, @contribuyentes, @reteica) y tipo de caso (@crud, @search, @negative, @boundary). El tag @tagprueba marca los tests que se ejecutan en el pipeline de smoke diario.
Guía: Escribir tests
Paso a paso para crear un nuevo spec siguiendo las convenciones del proyecto.
Guía: Ejecutar tests
Comandos disponibles, filtros por tag y ejecución en modo headless o headed.