Skip to content

chandreyee729/cypress_cucumber_tests_and_utilities

Repository files navigation

cypress_extended_tests_and_utilities

This repository provides a well-structured Cypress testing framework designed for scalable behavorial-driven-testing and integration testing.

  • This project uses the GoREST API — a powerful, free RESTful service for testing HTTP methods such as GET, POST, PUT, and DELETE. It provides dummy users, posts, comments, and more, making it ideal for end-to-end and API automation testing scenarios. Go to gorest homepage and generate an API token for personal use. Also, find the GoRest Postman collection and environment variables attached to this project for reference. This defines the manual test approach on the APIs

  • This project uses Supabase - an open-source Firebase alternative that provides instant APIs, authentication, and a Postgres database. In this project, Supabase is leveraged for handling user authentication and role-based access control, enabling secure and scalable testing environments. ----- <Tests are failing - Project reference has to be updated> Go to Supabase, signup, create a project. use Project reference and sign up using curl:

```curl --location 'https://${{project_reference_no}}$.supabase.co/auth/v1/signup' \
--header 'Content-Type: application/json' \
--header 'apikey: ${{your_api_key}}' \
--data-raw '{
  "email": "${{useremail}}",
  "password": "${{userPassword}}"
}'```

Ideal for QA Engineers and SDETs who want reusable, modular, and CI/CD-ready Cypress test automation.

This project includes:

  • Framework with BDD approach using Cucumber (Feature files in Gherkin syntax)
  • Cypress tests using .cy.js and .feature conventions
  • it() blocks and step_definitions include logs and response error validations
  • Secure handling of secrets using GitHub Secrets in Workflows
  • Utility methods for working with tokens and reading user info from tokens
  • Allure reporting (allure-cypress/reporter)
  • API Test Coverage
  • UI Coverage

Tech Stack

Tool Purpose
Cypress E2E & integration testing
Allure Reporter Test result visualization
GitHub Actions CI/CD pipeline
Cucumber "@badeball/cypress-cucumber-preprocessor": "^22.1.0", "@bahmutov/cypress-esbuild-preprocessor": "^2.2.5",
Cucumber Reporting multiple-cucumber-html-reporter
JWT Decode Browser library that helps decoding JWT tokens

Setup Project

Running Tests

  • Headless Run (Local) npx cypress run --spec "cypress/e2e/integration_tests/*.cy.js"
  • Open Cypress GUI npx cypress open

Allure Reporting

-Generate npx allure generate allure-results --clean -o allure-report

-Open Report npx allure open allure-report

Reports generated on Github Pages

Feature Tests: https://chandreyee729.github.io/cypress_cucumber_tests_and_utilities/bdd_feature_report/ Integration Tests: https://chandreyee729.github.io/cypress_cucumber_tests_and_utilities/integration_report/

Created By Chandreyee Chakraborty GitHub: @chandreyee729

About

Behavior Driven experimentation on generic cypress test functionalities with github secrets and allure reporting

Topics

Resources

Stars

Watchers

Forks