Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/veena444/cucumberpomframework
This repository contains a Selenium-cucumber-java framework & libraries that demonstrates how to develop a automation framework using Cucumber 7.0v with Page Object Model.
https://github.com/veena444/cucumberpomframework
cicdpipeline cucumber extent-report intellij java jenkins junit ngrok-server page-object-model pdfreport selenium-webdriver sparkreport
Last synced: 5 days ago
JSON representation
This repository contains a Selenium-cucumber-java framework & libraries that demonstrates how to develop a automation framework using Cucumber 7.0v with Page Object Model.
- Host: GitHub
- URL: https://github.com/veena444/cucumberpomframework
- Owner: veena444
- Created: 2024-11-29T03:27:31.000Z (2 months ago)
- Default Branch: master
- Last Pushed: 2024-12-18T04:09:50.000Z (about 2 months ago)
- Last Synced: 2025-01-28T14:16:59.387Z (5 days ago)
- Topics: cicdpipeline, cucumber, extent-report, intellij, java, jenkins, junit, ngrok-server, page-object-model, pdfreport, selenium-webdriver, sparkreport
- Language: Java
- Homepage: https://naveenautomationlabs.com/opencart/index.php?route=account/login
- Size: 1.23 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Project Overview:
This project demonstrates a Behavior-Driven Development (BDD) automation framework using Cucumber integrated with Selenium WebDriver and Page Object Model(POM).
It is designed for scalable, maintainable and efficient UI test automation.## Features:
**BDD with Cucumber:** Implements Gherkin syntax for feature files to define test scenarios in plain language.
**Page Object Model (POM):** Separation of test scripts and UI elements for better maintainability.
**Custom Step Definitions:** Simplifies mapping Gherkin steps to Selenium actions.
**Hooks Implementation:** Provides preconditions (before hooks) and postconditions (after hooks) for test execution.
**Data-Driven Testing:** Supports parameterized testing using examples in feature files.
**Parallel Execution:** Executes multiple scenarios concurrently to optimize execution time.
**Cross-Browser Testing:** Runs tests on multiple browsers like Chrome, Firefox, and Edge.
**Detailed Reporting:** Generates execution reports using ExtentReports.
**Integration with CI/CD:** Configured Jenkins to enable continuous testing.
## Tech Stack:
IDE - IntelliJ IDEA
Language - Java
Maven - Build Tool
JUnit - Unit testing framework
Design Pattern - Page Object Model (POM)
Reports : Extent Spark Report & Extent pdf Report
Jenkins CI/CD: Continuous Integration
## Prerequisites:
Java JDK 11 or higher
Maven
Cucumber
Selenium WebDriver
Browsers: Chrome, Firefox, Edge
JUnit (for parallel execution)
## Installation and Setup:
**Clone the repository:**
git clone https://github.com/veena444/CucumberPOMFramework.git
**Navigate to the project directory:**
cd CucumberPOMFramework
**Install dependencies using Maven:**
mvn clean install
## Running Tests:
**Local Execution:**
Update the config.properties file to specify browser and environment configurations.
Run tests using Maven:
mvn test
**Parallel Execution:**
Enable parallel execution by configuring TestNG in the testng.xml file:
## Reporting:
**ExtentReports:** Provides a comprehensive view of test execution status.
**Screenshots:** Automatically attached to reports for failed scenarios.
## Usage:
* Create new feature files in the /resources/features directory to define test scenarios.
* Implement corresponding step definitions in the /src/test/java/com/framework/steps package.
* Update config.properties to modify test settings like browser type, environment, and base URL.