An open API service indexing awesome lists of open source software.

https://github.com/brbhavesh63/automationexceriseapp

AutomationExercise is a web-based e-commerce platform designed for QA engineers to practice automation testing. This project implements an advanced Selenium-based test automation framework in Python using Pytest. The framework is structured for modularity, reusability, and scalability, enabling efficient end-to-end testing.
https://github.com/brbhavesh63/automationexceriseapp

automation datadriventesting ecommerce-website pytest python selenium test-automation webdriver

Last synced: about 2 months ago
JSON representation

AutomationExercise is a web-based e-commerce platform designed for QA engineers to practice automation testing. This project implements an advanced Selenium-based test automation framework in Python using Pytest. The framework is structured for modularity, reusability, and scalability, enabling efficient end-to-end testing.

Awesome Lists containing this project

README

        

# πŸš€ AutomationExercise - Selenium Test Automation

## πŸ“Œ Overview

AutomationExercise is a web-based e-commerce platform designed for QA engineers to practice automation testing. This project implements an advanced **Selenium-based test automation framework** in **Python** using **Pytest**. The framework is structured for **modularity, reusability, and scalability**, enabling efficient end-to-end testing.

---

## 🎯 Objective

- Automate **key e-commerce functionalities** to ensure reliability and efficiency.
- Enhance **test coverage** and reduce **manual efforts**.
- Validate the **User Interface (UI)** across devices.
- Ensure **cross-browser compatibility**.
- Generate **detailed reports** with logs and screenshots.

---

## πŸ›  Technology Stack

- **Programming Language:** Python
- **Automation Tool:** Selenium WebDriver
- **Testing Framework:** Pytest
- **Design Pattern:** Page Object Model (POM)
- **Configuration Management:** `config.ini`
- **Reporting:** `pytest-html`, Allure Reports
- **Logging & Debugging:** Custom logging, Screenshots on failure

---

## πŸ“‚ Project Structure

```
AutomationExercise/
β”‚-- TestCases/ # Contains all test scripts
β”‚-- Locators/ # Stores page locators used in POM
β”‚-- Utilities/ # Includes helper functions (readproperties.py)
β”‚-- Configurations/ # Contains config.ini for environment settings
β”‚-- Reports/ # Stores Allure and HTML reports
```

---

## πŸ”§ Features

- βœ… **End-to-End Test Automation**
- πŸ”„ **Reusable & Maintainable POM-based Design**
- 🌍 **Cross-Browser & Mobile-Friendly Testing**
- πŸ“Š **Data-Driven Testing with Configurable Inputs**
- ⚑ **Parallel Test Execution for Efficiency**

---

## πŸ“ Automated Test Scenarios

### πŸ‘€ User Management

- Registration (Valid & Invalid Scenarios)
- Login & Logout
- Account Deletion

### πŸ› Product Management

- Searching & Filtering Products
- Adding/Removing Items from the Cart

### πŸ›’ Shopping & Checkout

- Cart Operations
- Price Validation
- Order Confirmation

### πŸ“Œ Profile & Address Management

- Editing User Profile
- Adding/Updating Addresses

### πŸ“§ Contact Forms & Error Handling

- Testing Contact Us form
- Validating error messages

### 🌎 UI & Cross-Browser Testing

- Checking responsive design
- Testing on Chrome, Firefox, Edge, Safari

---

## πŸ“Š Allure Report Integration

To ensure transparency and detailed insights into test executions, **Allure Reports** has been integrated into this framework. It provides:

### πŸ“Έ Allure Report Screenshots

#### **Overview Page**

- Displays total test cases executed.
- Shows a **33.33% pass rate**, indicating failed and passed tests.
- Highlights defects and test trends.

#### **Graphs & Status Analysis**

- Displays the breakdown of **Failed, Broken, Passed, and Skipped** test cases.
- Provides insights into test **severity levels**.
- Shows test **duration trends**.

---

## ⚠️ Challenges & Solutions

| Challenge | Solution |
| ------------------------- | ---------------------------------- |
| Handling dynamic elements | Implemented **explicit waits** |
| Managing popups & alerts | Used **Selenium’s alert handling** |
| Synchronization issues | Applied **WebDriverWait** |

---

## πŸš€ Future Enhancements

- πŸ”„ **API Testing** using Postman or REST Assured
- ☁️ **Cloud Testing** with BrowserStack/Selenium Grid
- ⏳ **Performance Testing** for website speed optimization
- πŸ“œ **Custom Logging & HTML Reporting** for logging and debugging
- πŸ“· **Screenshot Capture on Test Failure** for test failure and pass references

---

## 🏁 Conclusion

This automation framework ensures **high-quality software testing** with maximum efficiency. By leveraging **Selenium, Pytest, and POM**, it improves reliability, reduces manual efforts, and provides **comprehensive test coverage**. This project is a stepping stone for creating robust **CI/CD-ready test automation suites**.

πŸ”₯ **Automate Smart, Test Faster!** πŸ”₯