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.0)

This release adds Playwright auto-capture (pytest-playwright).

It:

  • creates a timestamped run folder under test_report/.../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)
  • records a basic test summary (nodeid/status/duration)

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)

If you want, I’ll add these in the next versions:

  1. Playwright auto-capture (pytest-playwright integration):
    • trace.zip per test
    • video per test
    • screenshots on failure
    • network capture (HAR) + optional response bodies (size-capped)
  2. Viewer upgrades:
    • filters (failed-only / search / slow tests)
    • per-test attachments UI (open video/trace/logs directly)
    • network table view with cURL copy
  3. Console log capture:
    • Playwright page console + page errors into logs/console.log

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.2.tar.gz (12.4 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.2-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: qa_run_bundler-0.2.2.tar.gz
  • Upload date:
  • Size: 12.4 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.2.tar.gz
Algorithm Hash digest
SHA256 e8d8b3d7dd70a18734833adaa49fd5a4afecd1c347b96fb4af13bf00739c6e1e
MD5 d14513314eacb3b502835cfaf6cc23f5
BLAKE2b-256 1562d500a797067f1e80b48c6233906925d87887c4b9b188b7c684810be2c84f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: qa_run_bundler-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 13.3 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 18b1e10a11cedded1b51bb4bef03a26a7733bb4ae25cec9b9543e1bd9de1585c
MD5 554ba64b3e61ad2c2f89f2ace52cdd7e
BLAKE2b-256 6c5c251f0ecc6d3429ef2cdf0e0f95a56f65f9be74d928c5284e0da17d2a940c

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