Skip to content

An end-to-end automated testing suite for the E-commerce Playground website, built with Selenium and Postman, to validate its functionality, UI, and performance. It includes test case development, automated reporting, API validation, performance testing, and CI/CD integration for continuous and efficient testing.

License

Notifications You must be signed in to change notification settings

Omar-Mega-Byte/EcommPlaygroundTestMasters

Repository files navigation

EcommPlaygroundTestMasters

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! ⚑

πŸ—οΈ Project Structure

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

✨ Key Features

1. UI Testing πŸ–₯️

Automated tests for the E-commerce Playground web interfaces using Selenium WebDriver, including:

  • Cross-browser testing 🌍
  • Responsive design checks πŸ“±πŸ’»

2. Functional Testing βœ…

Test common workflows like:

  • User login
  • Form submissions
  • Data processing

3. API Testing 🌐

  • Postman integration for API validation.
  • Ensure endpoints return correct data and handle edge cases.

4. Performance Testing πŸ’¨

Run load and stress tests with JMeter or Gatling:

  • Test response times ⏱️
  • Analyze scalability and server load 🌐

5. Test Reporting πŸ“Š

Get detailed HTML test reports generated via TestNG or JUnit, complete with:

  • βœ… Pass/Fail status
  • 🐞 Bug logs for debugging

6. CI/CD Integration πŸ”„

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 πŸ’₯

πŸš€ Getting Started

Prerequisites:

  • 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. πŸ€–

Installation Steps:

  1. Clone the repository:

    git clone https://github.com/Omar-Mega-Byte/EcommPlaygroundTestMasters.git
    cd EcommPlaygroundTestMasters
  2. Install dependencies:

    mvn install
  3. Configure your environment:

    • Update config/config.properties with your browser preferences and API base URLs.
  4. 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.

🚨 Reports:

  • 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 🐞

🌟 Visual Features

1. Selenium UI Tests πŸ§ͺ

  • Automated UI tests simulate real user interactions. Clicks, form submissions, and navigation are tested across multiple browsers for consistency.

2. Postman API Validation πŸ”

  • Postman collections ensure your APIs are up and running with the right responses, all automated and version-controlled!

3. Performance Testing Reports πŸ“ˆ

  • 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.

πŸ’‘ Contributing

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

πŸ“„ License

This project is licensed under the MIT License. See the LICENSE file for more details.

πŸ“ž Contact Information

For any questions or suggestions, feel free to reach out:

πŸ§‘β€πŸ€β€πŸ§‘ Meet the Team

This project is the result of collaborative work by an amazing team! πŸ‘


πŸŽ‰ Enjoy Testing! πŸ§‘β€πŸ’»

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! πŸš€


About

An end-to-end automated testing suite for the E-commerce Playground website, built with Selenium and Postman, to validate its functionality, UI, and performance. It includes test case development, automated reporting, API validation, performance testing, and CI/CD integration for continuous and efficient testing.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •  

Languages