UI test automation framework built with Selenium, pytest, and Page Object Model. The project demonstrates a clean, scalable approach to browser-based test automation.
- Designing a Selenium automation framework from scratch
- Practical use of Page Object Model (POM)
- Separation of test logic and page logic
- Pytest fixtures and test organization
- Handling real-world UI automation challenges
- Conscious CI vs local execution decisions
- Python
- Selenium WebDriver
- pytest
- webdriver-manager
pages/ # Page Object Model classes tests/ # UI test cases (login, inventory, cart) conftest.py # Browser and test fixtures
python -m venv venv
venv\Scripts\activate #windows
# source venv/bin/activate #Linux/MacOS
pip install -r requirements.txt
pytest -s- Lightweight pytest tests are executed in CI
- Selenium UI tests are intended for local execution
- This avoids browser instability on shared CI runners
- Reflects common real-world QA practice
API and contract testing are covered in a separate dedicated repository: https://github.com/harhala7/QA_API_Contracts_Project