CypressCraft 1.0.9-alpha.1 Help

Guía Completa de CypressCraft

Esta guía ofrece una visión integral de CypressCraft, la librería que extiende a Cypress para facilitar la automatización de pruebas E2E y API.

Propósito del proyecto

CypressCraft surge de la necesidad de contar con un entorno de pruebas unificado y fácil de escalar. Combina buenas prácticas, integración con Cucumber y un modelo de páginas (POM) que reduce la duplicidad de código.

Su objetivo principal es simplificar la configuración de proyectos, centralizar los datos de prueba y permitir una transición fluida entre entornos y tipos de pruebas (frontend o backend).

Características clave

  • Instalación guiada mediante el comando cypress-craft-init.

  • Estructura predefinida de carpetas para API y E2E.

  • Soporte multi‑ambiente y manejo de datos dinámicos.

  • Integración con Cucumber para definir pruebas en lenguaje natural.

  • Plantillas de POM listas para usar.

  • Generación de reportes HTML con multiple-cucumber-html-reporter.

Arquitectura general

El proyecto instalado queda organizado del siguiente modo:

cypress/ ├─ common/ # step definitions y helpers ├─ fixtures/ # urls, datos y variables dinámicas ├─ pom/ # clases POM para API y E2E ├─ settings/ # configuración de Cucumber y utilidades ├─ support/ # comandos custom de Cypress ├─ tests_en/ # features de ejemplo en inglés └─ tests_es/ # features de ejemplo en español scripts/ └─ post-install.js # asistente de configuración

La personalización se realiza editando cypress.config.js, donde se indica el ambiente de ejecución y la ruta de las pruebas.

Flujo de trabajo recomendado

  1. Ejecutar npm init -y e instalar la dependencia cypress-craft.

  2. Correr npx cypress-craft-init y seguir el asistente.

  3. Ajustar URLs y datos en la carpeta fixtures.

  4. Crear o modificar clases en pom según los escenarios.

  5. Escribir los pasos en tests_en o tests_es utilizando Cucumber.

  6. Lanzar las pruebas con npm start y seleccionar el feature.

Buenas prácticas

  • Mantener separados los POM de API y E2E para una mejor mantenibilidad.

  • Reutilizar funciones comunes en main.pom.js.

  • Usar variables dinámicas (#VAR#) para datos que cambian según el entorno.

  • Versionar la carpeta Writerside para conservar la documentación junto al código.

Convenciones para archivos .feature

Los archivos que describen los escenarios siguen una nomenclatura consistente para facilitar su identificación:

  • api.XX-descripcion.feature para servicios REST.

  • e2e.XX-descripcion.feature para flujos de interfaz.

Cada feature comienza opcionalmente con la directiva de idioma, por ejemplo:

# language: es

Dentro de cada feature se recomienda incluir un Background con la inicialización del Page Object Model y escribir escenarios breves que reflejen un objetivo específico.

Integración continua

CypressCraft puede integrarse con cualquier servicio de CI/CD que ejecute Node.js. Asegura instalar las dependencias, ejecutar cypress-craft-init en modo no interactivo y usar el reporte HTML para revisar resultados en el pipeline.

Para más detalles consulta los otros temas de esta sección.

Last modified: 07 July 2025