UI test automation project built with Python, Pytest, and Playwright.
aqa-python-playwright/
├── helpers/
│ └── generate_data.py # Test data models and generators
├── pages/
│ ├── base_page.py # Shared page actions/helpers
│ ├── login_page.py # Login/home page object
│ └── signup.py # Signup page object
├── tests/
│ └── ui/
│ ├── conftest.py # Shared fixtures (browser/context/page/page objects)
│ └── test_goto.py # Registration/login tests
├── .pre-commit-config.yaml # Pre-commit hooks (ruff, basic checks)
├── pyproject.toml # Project deps + pytest/ruff config
└── uv.lock # Locked dependency versions for uv
- Python 3.12+
- Playwright browsers installed
Using uv:
uv sync
uv run playwright installOr with pip:
python -m venv .venv
source .venv/bin/activate
pip install -e .
playwright installmake testor
uv run pytestGenerate Allure raw results:
make test-allureClean temporary/report artifacts:
make cleanRun checks:
ruff check .Pre-commit:
pre-commit install
pre-commit run --all-files