This project is a Selenium-based UI automation framework, with CI/CD integration designed to test key eCommerce user journeys on the OpenCart platform.
- Java
- Selenium WebDriver
- TestNG
- Extent Reports
- Maven
- Account Registration
- User Login
- Login Data Driven Test
- Product Search
- Add Product to Cart
- Page Object Model (POM)
- Data-driven testing
- Cross-browser testing
- Selenium Grid execution
- Docker-based test infrastructure
- Extent Reports for test reporting
- Maven build management
- TestNG test orchestration
- Reusable test utilities
- Scalable test structure
src
├── main
└── test
├── pageObjects
├── testBase
├── testCases
└── utilities
Additional directories:
reports/ → Extent test reports
screenshots/ → Failure screenshots
logs/ → Execution logs
testData/ → Test data files
This automation framework supports multiple execution strategies including local execution, cross-browser testing, Selenium Grid execution with Docker, and batch execution.
Clone the repo:
git clone https://github.com/Sithabilea/OpencartV121.git
Run using Maven:
mvn clean testThis will execute the default TestNG suite defined in testng.xml
You can run a specific TestNG suite file:
mvn test -DsuiteXmlFile=master.xmlTo run the same tests across multiple browsers (e.g. Chrome and Firefox):
mvn test -DsuiteXmlFile=crossbrowsertesting.mxlThis configuration allows the framework to execute tests on multiple browsers using TestNG parameters
This project supports distributed test execution using Selenium Grid running inside Docker containers.
docker-compose upThis will start:
- Selenium Hub
- Browser nodes (Chrome/Firefox)
mvn test -DsuiteXmlFile=grid-docker.xmlTests will be distributed across the available browser nodes.
For convenience, tests can also be executed using the provided batch script:
run.batThis script triggers the Maven test execution and runs the configured TestNG suite.
