https://github.com/prasad8400/e2e-testframework-swaglabs-bdd
End-to-end test automation framework for Swag Labs using Java, Selenium, Cucumber (BDD), and TestNG. Designed for maintainability and CI/CD readiness, featuring parallel execution, custom reports, and external config support.
https://github.com/prasad8400/e2e-testframework-swaglabs-bdd
bdd-framework cucumber java maven selenium-java selenium-webdriver testng
Last synced: about 1 month ago
JSON representation
End-to-end test automation framework for Swag Labs using Java, Selenium, Cucumber (BDD), and TestNG. Designed for maintainability and CI/CD readiness, featuring parallel execution, custom reports, and external config support.
- Host: GitHub
- URL: https://github.com/prasad8400/e2e-testframework-swaglabs-bdd
- Owner: Prasad8400
- License: mit
- Created: 2025-05-14T03:40:35.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-14T03:53:52.000Z (about 1 year ago)
- Last Synced: 2025-05-14T04:58:16.570Z (about 1 year ago)
- Topics: bdd-framework, cucumber, java, maven, selenium-java, selenium-webdriver, testng
- Language: Java
- Homepage:
- Size: 773 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# E2E-TestFramework-SwagLabs-BDD
End-to-end test automation framework for Swag Labs using Java, Selenium, Cucumber (BDD), and TestNG. Designed for maintainability and CI/CD readiness, featuring parallel execution, custom reports, and external config support.
# SwagLabs_Ecom_Automation (BDD Framework)

[](https://github.com/Prasad8400/My_AwardsAndCertifications/blob/main/My_AwardsAndCertifications.md)
[](https://www.java.com/)
[](https://www.selenium.dev/)
[](https://testng.org/)
[](https://maven.apache.org/)
[](https://cucumber.io/)
This project is a robust, scalable **Selenium WebDriver automation framework** built for testing the [Swag Labs](https://www.saucedemo.com/) e-commerce platform using **Java 17**, **Cucumber (BDD)**, **TestNG**, and **Maven**.
It leverages the **Page Object Model (POM)** design pattern for maintainability and supports cross-browser execution with detailed reporting.
## π Features
- β
BDD with Cucumber (Gherkin syntax)
- β
Page Object Model (POM) design
- β
Parallel test execution with TestNG
- β
Browser support (Chrome, Firefox)
- β
External configuration via `config.properties`
- β
Detailed HTML report generation
- β
Maven for dependency and build management
- β
Java 17 and Eclipse IDE
## π Project Structure
src
βββ main
β βββ resources
βββ test
β βββ java
β β βββ base/ # WebDriver setup and BaseTest
β β βββ pages/ # Page Object classes
β β βββ steps/ # Cucumber step definitions
β β βββ testRunners/ # Cucumber TestNG runner
β β βββ utils/ # Report & Config utilities
β βββ resources
β βββ features/ # Cucumber feature files
β βββ config.properties # External config
## π Tech Stack
| Tool | Description |
|---------------------|----------------------------------------|
| Java 17 | Language |
| Selenium WebDriver | Browser Automation |
| Cucumber | BDD Framework |
| TestNG | Test Execution |
| Maven | Build & Dependency Management |
| Eclipse IDE | Development Environment |
## π Reporting
The framework supports rich HTML reporting via external Report Manager (`utils/ReportManager.java`) and is configured for scalable test result output.
## πΌ Skills Demonstrated
- β
Test automation framework design
- β
Page Object Model (POM) implementation
- β
Behavior-Driven Development with Cucumber
- β
CI/CD readiness using Maven
- β
Cross-browser automation setup
- β
External configuration management
- β
TestNG parallel test setup
- β
Extensive use of Object-Oriented Programming (OOP) principles:
πΉEncapsulation β Data hiding and getter/setter usage in page classes
πΉAbstraction β Reusable base classes and utility methods
πΉInheritance β Common test setup inherited from base test class
πΉPolymorphism β Method overriding (e.g., WebDriver setup across browsers)
## π Getting Started
```bash
# Clone the repo
git clone https://github.com/your-username/SwagLabs_Ecom_Automation.git
# Navigate to project directory
cd SwagLabs_Ecom_Automation
# Run tests with Maven
mvn clean test
```
## π§ Configuration
src/test/resources/config.properties
## π¬ Contact
- π§ Email: prasadsutar6544@gmail.com
- πΌ LinkedIn: [linkedin.com/in/prasadsutar8400](https://www.linkedin.com/in/prasadsutar8400/)