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)
- if inside a git repo → uses git root (
- 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 onfile://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, withcontent=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>/...(noTEST_ENVsegment) - Non-prod:
- with
TEST_ENV:test_report/<project>/<env>/<test_env>/runs/<run_id>/... - without
TEST_ENV:test_report/<project>/<env>/runs/<run_id>/...
- with
Planned features (recommended next)
- Viewer upgrades:
- filters (failed-only / search / slow tests)
- per-test attachments UI (open video/trace/logs directly)
- network table view with cURL copy
- Network improvements:
- per-test HAR split option
- size caps + redaction rules (tokens/cookies)
- Console improvements:
- include request correlation ids in logs when possible
- 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
05d9b10aa15b86c032888608866f1fac24b331071383b9579ffa9d3997385220
|
|
| MD5 |
5406b9f944ed448ac96413520090894f
|
|
| BLAKE2b-256 |
94bd198f35b4deb35bbdd5ae85ccc588effe00f2860f1a4af7ff13523f7c4d58
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4ec735591a31b2b53106f04e45bfa0f0f918b59798cefe617be526a36fbfe785
|
|
| MD5 |
d4570a777cb9921ccb15e28214e13de6
|
|
| BLAKE2b-256 |
9dbfc20911873edb01c474dfe02987288748e12bf9831c7be76628c6d1d57837
|