User documentation https://qa-automation-starter.github.io/qa-automation-python
Open in Codespace or Dev Container and everything will get installed and configured, otherwise:
-
Install Python 3.13 on your system
-
Install PDM:
pipx install pdm[all]
-
Install dependencies:
pdm run install-deps
NOTE: This must be run whenever new dependencies, or versions are changed.
-
Run all tests from the root:
pdm run pytest
-
Generate Allure reports
pdm run allure-generate
-
Serve MkDocs site
pdm run mkdocs-serve
then open http://127.0.0.1:8000/qa-automation-python in a browser
qa-automation-python/
├── qa-testing-utils/ # Shared low-level utility functions
├── qa-pytest-commons/ # Technology-agnostic test infrastructure
├── qa-pytest-rest/ # REST-specific steps and config
├── qa-pytest-webdriver/ # Selenium-specific implementation
├── qa-pytest-template/ # TBD: Cookiecutter project template
├── qa-pytest-examples/ # Usage examples for application test projects
├── pyproject.toml # Root environment definition for PDM
└── .vscode/ # Recommended settings for VSCode integration
-
branch
-
commit changes
-
pull request -- will trigger a build
-
build succeeds --> tag with vX.X.X, e.g. v1.2.3 -- will trigger a release:
4.1. ensure you are on main and up-to-date
4.2. verify which tags exists in local repo
git tag
4.3. create new tag, e.g.
v0.0.8
git tag v0.0.8
4.4. push it
git push origin v0.0.8
-
verify new versions appeared on https://pypi.org/
cd qa-automation-python
pdm plugin add pdm-init # if not already available
pdm init # or copy an existing module like qa-testing-utils
Then edit pyproject.toml
accordingly.
TODO
- Add browser matrix support (Firefox, Safari, Edge)
- Make the BDD intro words appear in Allure report
- Extend test examples (API + UI)
This project is licensed under the Apache 2.0 License.