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
.vscode
: IDE settings and configurationsdebug
: debugging scripts (debug_script.py
,debug_test.py
)docs
: plain text commands, instructions, and setup noteslogs
: log files generated during test executionpages
: Page Object Model classes representing UI pagesreports
: generated HTML or Allure test reportsrunners
: PowerShell scripts (.ps1
) to run tests easilyscreenshots
: screenshots saved on test failurestests
: test cases and test suites (e.g.,test_login.py
)utils
: utility modules, helpers, and custom wait functionsvenv
: Python virtual environment for the projectconfig.py
: configuration file with constants and test data like URLs, usernames, and passwordsconftest.py
: pytest fixtures and hookspytest.ini
: pytest configuration filerequirements.txt
: Python package dependencies
- 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. 🚧