An end-to-end, fully automated testing framework designed for the E-commerce Playground web application (https://ecommerce-playground.lambdatest.io/). Whether you're testing UI, functionality, or performance, this project has you covered! ⚡
This project is structured to support scalable and maintainable test automation. Here's a quick breakdown of the folder structure:
/project-root
│
├── /src/ # Source folder for all test scripts
│ ├── /tests/ # Test cases (UI, functional, API, performance)
│ ├── /pages/ # Page Object Model classes (for UI automation)
│ ├── /utils/ # Utility functions and helpers
│ └── /data/ # Test data and configuration files
│
├── /reports/ # Folder for storing test execution reports
│ ├── /html/ # HTML reports (generated by TestNG or JUnit)
│ └── /logs/ # Logs from test execution
│
├── /postman/ # Postman collection for API testing
│ └── /collections/ # API test collections (with test scripts)
│
├── /config/ # Configuration files (browser settings, test parameters)
│ └── config.properties # Main configuration file
│
├── /scripts/ # Scripts for performance testing (JMeter/Gatling)
│
├── /ci/ # CI/CD pipeline configurations (e.g., Jenkins integration)
│ └── Jenkinsfile # Example configuration for Jenkins
│
└── README.md # Project overview and setup guide
Automated tests for the E-commerce Playground web interfaces using Selenium WebDriver, including:
- Cross-browser testing 🌍
- Responsive design checks 📱💻
Test common workflows like:
- User login
- Form submissions
- Data processing
- Postman integration for API validation.
- Ensure endpoints return correct data and handle edge cases.
Run load and stress tests with JMeter or Gatling:
- Test response times ⏱️
- Analyze scalability and server load 🌐
Get detailed HTML test reports generated via TestNG or JUnit, complete with:
- ✅ Pass/Fail status
- 🐞 Bug logs for debugging
Seamlessly integrate with your CI/CD pipeline for continuous testing:
- Works with Jenkins, GitHub Actions, or any other CI tool of choice.
- Automatic test execution with every commit 💥
- Java 8 or higher ☕
- Maven or Gradle 🛠️
- Selenium WebDriver for browser automation 🖱️
- Postman for API testing 🌐
- JMeter or Gatling for performance testing 🚀
- Jenkins For CI/CD integration. 🤖
-
Clone the repository:
git clone https://github.com/Omar-Mega-Byte/EcommPlaygroundTestMasters.git cd EcommPlaygroundTestMasters
-
Install dependencies:
mvn install
-
Configure your environment:
- Update
config/config.properties
with your browser preferences and API base URLs.
- Update
-
Run the Tests:
- UI & Functional Tests (with TestNG):
mvn test -Dtest=YourTestClass
- API Tests: Import and run the Postman collections or use Newman for CLI execution.
- Performance Tests: Execute JMeter or Gatling scripts as per the configurations.
- UI & Functional Tests (with TestNG):
- All test execution reports are saved in the
/reports/
folder. - HTML reports are automatically generated after each run.
- Logs and detailed error reports for easy debugging 🐞
- Automated UI tests simulate real user interactions. Clicks, form submissions, and navigation are tested across multiple browsers for consistency.
- Postman collections ensure your APIs are up and running with the right responses, all automated and version-controlled!
- JMeter/Gatling generate performance test reports with data like response time, load capacity, and error rates to ensure your app can scale under heavy traffic.
We welcome contributions! 🎉
- Fork the repository
- Open an issue for discussion or a pull request for code
- Follow the coding standards and write tests for your changes
This project is licensed under the MIT License. See the LICENSE file for more details.
For any questions or suggestions, feel free to reach out:
- GitHub Issues: Open an issue here
- Email: [email protected] 📧
This project is the result of collaborative work by an amazing team! 👏
-
Omar Ahmed Elrfaay
📧 [email protected] -
Rana Dief
📧 [email protected] -
Zyad Tarek Noaman
📧 [email protected] -
Basmala Samir
📧 [email protected] -
Malak Sherif
📧 [email protected]
This framework is designed to make testing the E-commerce Playground web application faster, easier, and more efficient. We hope you love it as much as we do! 🚀