Skip to content

QA-Automation-Starter/qa-automation-python

QA Automation Starter for Python

Build Release
utils commons rest webdriver
License: Apache 2.0
Open in GitHub Codespaces Open in Dev Container Allure Report

User documentation https://qa-automation-starter.github.io/qa-automation-python

Getting Started

Open in Codespace or Dev Container and everything will get installed and configured, otherwise:

  1. Install Python 3.13 on your system

  2. Install PDM:

    pipx install pdm[all]
  3. Install dependencies:

    pdm run install-deps

    NOTE: This must be run whenever new dependencies, or versions are changed.

  4. Run all tests from the root:

    pdm run pytest
  5. Generate Allure reports

    pdm run allure-generate
  6. Serve MkDocs site

    pdm run mkdocs-serve

    then open http://127.0.0.1:8000/qa-automation-python in a browser


Project Structure

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

🧪 Releasing

  1. branch

  2. commit changes

  3. pull request -- will trigger a build

  4. 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
  5. verify new versions appeared on https://pypi.org/


🏗 Adding a New Package

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)

✅ License

This project is licensed under the Apache 2.0 License.

About

Python port of QA automation utilities and project generator

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages