Thanks to visit codestin.com
Credit goes to github.com

Skip to content

QA-Automation-Starter/qa-automation-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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 http://python.qa-automation-starter.aherscu.dev/

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-all

    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 Exportable Symbols

Whenever adding a new global symbol (class/method/constant), these might need to be exported, thus listed in the __init__.py of the respective module.

Can be done automatically with mkinit:

pdm run regenerate-init

Formatting and Sorting Imports

Before committing:

pdm run format-all

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.


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