Target website: https://www.saucedemo.com/
This project implements a scalable, maintainable Selenium automation framework using Python, Pytest, and the Page Object Model (POM) design pattern.
The goal is to automate and verify all major functionalities of the Saucedemo e-commerce site with clean test structure, detailed reporting, logging, and CI/CD integration. It provides hands-on experience developing advanced test framework features.
The framework is structured for clarity, reusability, and modular growth, allowing easy expansion as new features or test requirements are introduced.
👉 For exploratory Selenium automation testing across a wide range of web functionalities, see my companion project: selenium_automation_testing
- Page Object Model (POM) for test scalability and maintainability
- Pytest with fixtures for flexible test execution and setup/teardown
- Driver factory for browser setup abstraction
- Allure and pytest-html reports for rich and customizable test reporting
- Test configuration management via CLI options or config files
- Headless/visible browser modes and future multi-browser support
- CI/CD using GitHub Actions and optional Docker containerization
- Screenshot on test failure planned for better debugging
- Python - main programming language
- Pytest - test execution framework
- pytest-html - lightweight HTML report generator for pytest
- Selenium WebDriver - browser automation
- webdriver-manager - automatic browser driver downloads
- Allure - rich test reporting and visualization tool
- Docker - for isolated, consistent test environments
- Visual Studio Code - main IDE
- PyCharm - secondary IDE
- GitHub - version control system
- GitHub Actions - continuous integration pipeline
This project is part of my ongoing QA automation journey. It reflects real-world framework practices like modular design, layered architecture, clear separation of concerns, and external integrations.
It's being built step-by-step, documenting and automating everything from the ground up, including virtual environment setup, logging, data handling, and reporting.
🚧 This project is currently in progress, with regular improvements as features are implemented and test coverage increases. 🚧