Skip to content

Repository files navigation

🧪 Enterprise Frontend Automation Architecture (Cypress & Cucumber BDD)


🚀 Overview

A production-grade, business-critical Frontend Test Automation Framework engineered over Cypress 13 and JavaScript, utilizing Cucumber for Behavior-Driven Development (BDD).

This framework acts as an enterprise regression matrix validating complex transactional identity and authentication states over the target platform. It features an isolated pre-execution background hooks pipeline to automatically handle user entity creation, multi-browser parallel execution layouts, and a headless CI/CD orchestration that publishes metrics directly onto live GitHub Pages instances.

🎯 Focus: Asynchronous single-page validation, cross-browser concurrency testing, CI/CD reporting pipelines, and stable user lifecycle isolation.


🎯 Key Technical Features

  • 🏗️ Page Object Model (POM) Design: Strict structural decoupling of web UI element locators and DOM mutation actions from the step validation parameters.
  • 🥒 Behavior-Driven Specification Layers: Declarative functional business rules mapped through Gherkin files to bridge technical development tracking with user experience gates.
  • 🔄 Autonomous Pre-Condition Lifecycle: Multi-stage background hook setups built to automatically provision new user assets on the application under test prior to testing routines.
  • Multi-Browser Concurrent Execution: Cross-browser execution layer powered by npm-run-all executing testing suites in parallel across Google Chrome, Mozilla Firefox, and Microsoft Edge engines.
  • 🤖 Automated GitHub Actions CI/CD: Fully decoupled deployment pipeline (.yml workflow) managing headless matrix execution and dynamic Allure Report building onto live GitHub Pages environments.

🏗️ Project Architecture Layout

The tree model encapsulates functional components under strict enterprise software testing guidelines:

automationexercise-cypress-bdd/
│
├── .github/workflows/
│   └── cypress-allure.yml     # Headless CI/CD execution and GitHub Pages distribution engine
│
├── cypress/
│   ├── e2e/
│   │   └── login/             # Dynamic BDD Feature files and JS step definitions
│   │
│   ├── pages/                 # POM Object layers (Encapsulated UI interaction elements)
│   └── support/               # Configuration endpoints, global assertions, and custom commands
│
├── cypress.config.js          # Main configurations and event-listener interceptors
├── package.json               # Node.js orchestration ecosystem manifest and concurrency scripts
└── README.md                  # Technical documentation

📊 Impact (CV-Level Highlights)

  • 📈 Slashed Test Script Maintenance Overhead: Achieved modular design layout by encapsulating interface layers into Page Object Model (POM) structural classes.
  • Accelerated Cross-Browser Lifecycles: Compressed integration validation cycles drastically by configuring parallel execution pipelines on multiple modern browser engines.
  • 🛡️ Autonomous State Setup Mitigation: Eliminated test execution interdependency by deploying dynamic pre-request background triggers for clean data provisioning.
  • 📊 Audit-Ready Validation Transparency: Streamlined technical fault debugging by porting execution artifacts seamlessly into automated, interactive live web metrics via GitHub Pages.

⚙️ Installation & Automation Run Guide

1. System Prerequisites

Ensure your local host has the following node environment active:

  • Node.js (v18 or higher)
  • NPM (Node Package Manager)

2. Bootstrapping and Workspace Initialization

git clone https://github.com
cd Automation-Exercise-Cypress-cucumber-allure-framework
npm install

3. Execution Engines Management

▶ Run via Cypress Interactive Test Runner (GUI Mode)

npm run cy:open

⚡ Headless Complete Regression Pipeline Execution (Default)

npm run cy:run

🌀 Run Multi-Browser Parallel Regression Arrays (Chrome, Firefox & Edge)

npm run parallel

🧾 Advanced Local Reporting Infrastructure

To clean, compile, and visualize comprehensive analytics from test execution footprints on your machine workspace, execute:

# Compile and generate comprehensive visual Allure Report dashboards
npm run allure:generate

# Launch local server instance to review test performance trends
npm run allure:open

# Combined single command string execution (Run regression + Compile + Open logs)
npm run cy:run:allure

👨‍💻 Author

Victor Guzmán
Computational Scientist | Backend Engineer | Software Quality & Test Automation Specialist

About

🧪 Framework de automatización frontend diseñado con Cypress, JavaScript y Cucumber BDD con ejecución multiplataforma en paralelo y despliegue automático de reportes Allure en GitHub Pages.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages