This is a Selenium Cucumber-based Test Automation Framework designed to validate the core functionalities of an eCommerce web application. The framework follows a structured Page Object Model (POM) and Behavior-Driven Development (BDD) with Cucumber, ensuring modularity, maintainability, and readability of test scripts.
✅ Automate critical user workflows such as User Registration, Login, Account Management, and Checkout.
✅ Ensure test scripts are scalable and can be easily extended for additional test cases.
✅ Provide better readability and collaboration through Cucumber feature files, making test cases understandable even for non-technical stakeholders.
✅ Facilitate remote execution, parallel execution, and cross-browser testing using Dockerized Selenium Grid.
✅ Generate detailed test reports using Allure Reports for better analysis of test execution results.
This framework is designed to simulate a real-world industry-standard automation suite, making it a robust and scalable solution for automating eCommerce applications efficiently.
- Programming Language: Java
- Automation Tool: Selenium WebDriver
- Test Framework: Cucumber BDD
- Build Tool: Maven
- Reporting: Allure Reports
- Containerization: Docker, Selenium Grid 4
- IDE: IntelliJ
- Navigate to the registration page
- Enter user details (first name, last name, email, password, etc.)
- Agree to terms and conditions
- Verify successful registration
- Logout
- Navigate to the login page
- Enter valid credentials
- Verify successful login
- Logout
- Verify labels and links on the My Account page
- Ensure all expected sections (Orders, Affiliate Account, Newsletter, etc.) are present
- Logout
Selenium Grid is configured using Docker Compose on an Ubuntu 20.04 LTS Linux VM, hosted on Microsoft Azure, and accessed via public IP (e.g., http://172.203.142.159:4444
).
This setup is also compatible with local Docker environments. You can replicate the same Docker Compose setup locally with minimal changes for testing.
To trigger tests via Grid, use:
mvn clean test -DuseGrid=true
This runs tests using a RemoteWebDriver
connected to the Grid hub.
With the Selenium Grid 4 setup (Docker-based), this framework supports running tests in parallel across multiple browsers and nodes.
Chrome, Firefox, and Edge nodes are configured via Docker containers.
Each browser node registers to the central Selenium Hub.
Multiple nodes allow for parallel execution of scenarios across different browsers.
When the test suite runs with:
mvn test -DuseGrid=true
Each scenario is assigned to an available node, enabling:
Faster test execution through parallelism
Testing across different browsers for better coverage
This is already implemented and functional in the current framework using RemoteWebDriver logic in Hooks.java.
allure generate target/allure-results --clean -o allure-report
- This command will create a detailed HTML report in the
allure-report
directory.
allure serve target/allure-results
- This will start a local server and open the Allure report in your default browser.
To clear previous results:
rm -rf target/allure-results
🔹 Automating Add to Cart & Checkout Flow
🔹 Enhancing Test Data Management
🔹 Adding Cross-browser & Parallel Execution Support
🔹 Optimizing Allure tagging to avoid duplicate test entries