Skip to main content

Bundle automation run artifacts into a ZIP + self-contained HTML viewer

Project description

qa-run-bundler

Create a self-contained QA run bundle (ZIP + index.html viewer) from automation artifacts.

  • PyPI: qa-run-bundler
  • CLI: qa-bundle
  • Includes a pytest plugin (AUTO-ON by default)

What it does today (v0.2.3)

This release adds Playwright auto-capture (pytest-playwright) + root-level report output + a paths json for Slack/Email/Jira/Allure.

It:

  • determines the report base directory:
    • if inside a git repo → uses git root (git rev-parse --show-toplevel)
    • else → uses the current working directory (where pytest was run)
  • creates a timestamped run folder under:
    • <base>/test_report/<project>/<env>/.../runs/<run_id>/
  • writes a standalone viewer:
    • <run_root>/qa_bundle/index.html (works on file:// by default)
  • generates:
    • <run_root>/qa_bundle/bundle.zip (size limit 1GB)
  • writes a machine-readable paths file (for Slack/Email/Jira/Allure):
    • <run_root>/qa_bundle/qa_bundle_paths.json
  • records a basic test summary (nodeid/status/duration + phases)

Auto-captured (Playwright)

Enabled by default (can be disabled via env/CLI flags):

  • Video recording (Playwright page video)
  • HAR network recording (network/network.har, with content=embed)
  • Console logs capture (tests/<test>/logs/console.log)
  • Trace capture (tests/<test>/traces/trace.zip)
  • Screenshot on failure (tests/<test>/screenshot_failed.png)

Disable via .env

QA_BUNDLE=0
# or individual toggles
QA_VIDEO=0
QA_HAR=0
QA_TRACE=0
QA_CONSOLE=0
QA_SCREENSHOT_ON_FAIL=0

Requirements / Scope

  • Python + Playwright only (pytest-based).
  • This package is intended for Playwright UI automation runs and will not capture Selenium/Appium by default.

Install

pip install qa-run-bundler

CLI usage (non-pytest users)

qa-bundle build --root test_report/<project>/<env>/runs/<run_id>

Output:

  • <root>/qa_bundle/index.html
  • <root>/qa_bundle/bundle.zip

Pytest plugin (AUTO-ON)

This plugin runs even when you click PyCharm Play.

Disable via .env / env var

QA_BUNDLE=0

or

pytest --no-qa-bundle

Recommend env vars (to control output path)

PROJECT_NAME=consumer_website
ENV=dev
TEST_ENV=qa

Output paths

  • Prod: test_report/<project>/prod/runs/<run_id>/... (no TEST_ENV segment)
  • Non-prod:
    • with TEST_ENV: test_report/<project>/<env>/<test_env>/runs/<run_id>/...
    • without TEST_ENV: test_report/<project>/<env>/runs/<run_id>/...

Planned features (recommended next)

  1. Viewer upgrades:
    • filters (failed-only / search / slow tests)
    • per-test attachments UI (open video/trace/logs directly)
    • network table view with cURL copy
  2. Network improvements:
    • per-test HAR split option
    • size caps + redaction rules (tokens/cookies)
  3. Console improvements:
    • include request correlation ids in logs when possible
  4. Allure helper (optional):
    • attach bundle.zip automatically if allure is installed

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qa_run_bundler-0.2.3.tar.gz (13.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qa_run_bundler-0.2.3-py3-none-any.whl (13.9 kB view details)

Uploaded Python 3

File details

Details for the file qa_run_bundler-0.2.3.tar.gz.

File metadata

  • Download URL: qa_run_bundler-0.2.3.tar.gz
  • Upload date:
  • Size: 13.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for qa_run_bundler-0.2.3.tar.gz
Algorithm Hash digest
SHA256 05d9b10aa15b86c032888608866f1fac24b331071383b9579ffa9d3997385220
MD5 5406b9f944ed448ac96413520090894f
BLAKE2b-256 94bd198f35b4deb35bbdd5ae85ccc588effe00f2860f1a4af7ff13523f7c4d58

See more details on using hashes here.

File details

Details for the file qa_run_bundler-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: qa_run_bundler-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 13.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for qa_run_bundler-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 4ec735591a31b2b53106f04e45bfa0f0f918b59798cefe617be526a36fbfe785
MD5 d4570a777cb9921ccb15e28214e13de6
BLAKE2b-256 9dbfc20911873edb01c474dfe02987288748e12bf9831c7be76628c6d1d57837

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page