A scalable UI automation framework built with Python, Selenium WebDriver, and the Page Object Model (POM) design pattern.
The project focuses on creating a clean, reusable, and maintainable automation architecture that can easily scale as new test suites and features are introduced.
- Page Object Model (POM) architecture
- Reusable page components
- Centralized configuration
- WebDriver Manager integration
- Modular project structure
- Chrome WebDriver support
- Clean separation between Pages and Tests
- Ready for future pytest integration
selenium-automation-framework/
│
├── config/
│ └── settings.py
│
├── pages/
│ ├── base_page.py
│ ├── home_page.py
│ ├── redirect_page.py
│ └── status_codes_page.py
│
├── tests/
│ ├── navigation/
│ ├── status-codes/
│ └── base_test.py
│
├── utils/
│ └── driver.py
│
├── screenshots/
├── docs/
│
├── requirements.txt
├── LICENSE
└── README.md
- Python
- Selenium WebDriver
- ChromeDriver Manager
- Page Object Model (POM)
- Verify page title
- Verify redirect navigation
- Retrieve available HTTP status codes
- Verify HTTP 500 status page
git clone
cd selenium-automation-frameworkpython -m venv venvWindows
venv\Scripts\activateLinux / macOS
source venv/bin/activatepip install -r requirements.txtExample:
python tests/navigation/page_title_test.py- Page Object Model architecture
- Navigation tests
- HTTP Status Code tests
- Centralized configuration
- pytest integration
- HTML reports
- Allure reports
- GitHub Actions CI
- Screenshots on failure
- Fixtures
- Cross-browser execution
- Parallel execution