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
Release files for qa-run-bundler 0.2.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| qa_run_bundler-0.2.4.tar.gz | 13.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| qa_run_bundler-0.2.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 27.3 kB
Release files / qa_run_bundler-0.2.4.tar.gz
| Download URL | qa_run_bundler-0.2.4.tar.gz |
|---|---|
| Size | 13.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
448d7d66edc18234646bc0bdbdf54a41a615f39e5f5baf6ad31c197efd6726a7
|
|
BLAKE2b-256 checksum How to use checksums |
546a4c39f08ac3875dbd92defa448a99fb6598b41b8f0cddba64104377b85e31
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|
Release files / qa_run_bundler-0.2.4-py3-none-any.whl
| Download URL | qa_run_bundler-0.2.4-py3-none-any.whl |
|---|---|
| Size | 14.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
066e9f56c067b4c47ffd5f297ef347ce084aea679a3dc1a1950884b8dc3cbdd0
|
|
BLAKE2b-256 checksum How to use checksums |
82c94caab2faba71c559780fbe2d9f2ccf3f025b0afa3476eacd240b16d25380
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|