Skip to content

Repository files navigation

⚡ Test your code, not your reporting setup.

A pytest report built for fast debugging, with parallel execution support, automatic screenshots, and shareable failure context.

pytest-html-plus turns pytest results into portable debugging artifacts for CI, collaboration, and integrations, without a reporting platform.

➡️ View Demo Report

Docs PyPI Downloads PyPI Python Versions License Unit Tests codecov GitHub Action VS Code


🚀 Quick Start

pip install pytest-html-plus
# or
poetry add pytest-html-plus

pytest

By default, that generates a portable HTML report and structured JSON output. No hooks, decorators, or reporting server are required.

Why pytest-html-plus?

  • ⚡ Produce one unified report with or without pytest-xdist.
  • 📸 Capture failure screenshots automatically for Selenium and Playwright tests.
  • 📋 Keep errors, traces, logs, stdout, and stderr together in one report.
  • 🔄 Understand flaky tests with complete retry history.
  • 🔗 Share a direct link to an individual test result.
  • 🔍 Find tests, failures, traces, issue references, and documentation links from the same report.

✨ Features

⚡ One Unified Report with xdist

Run tests in parallel and receive one merged HTML and JSON report without an additional merge plugin or post-processing step.

📸 See What Failed Automatically

Capture Selenium and Playwright screenshots automatically and view them alongside the relevant failure context, with no custom hooks or decorators required.

📋 Everything You Need to Investigate a Failure

Review errors, traces, logs, stdout, stderr, and screenshots together. Copy the context you need in one click and use --plus-output=failed-only to keep passing-test output compact.

Configurable output capture

Copy failure context

🔄 Understand Flaky Tests Across Every Retry

See how a test behaves across retries, from initial failure to recovery. Spot patterns such as cache issues, race conditions, and intermittent crashes without guesswork.

Flaky test retry history

🔗 Share Any Test with a Direct Link

Copy a direct link to any test result and share it with your team. The report opens at the linked test, reveals it, expands its details, and highlights it, so teammates can jump straight to the relevant context without searching through the report.

ScreenRecording2026-10-03at8 55 26AM-ezgif com-cut

🔍 Find the Context You Need

Search tests, errors, traces, issue references, documentation links, and custom references from the same report.

Universal test search

Try It Without Changing Your Test Suite

pytest-html-plus works alongside existing pytest tooling, so you can evaluate it with your current test suite without adopting a reporting server, rewriting tests, or maintaining reporting infrastructure.

More Built In

Also includes merged JUnit XML export, run metadata, slow-test visibility, reusable profiles, traceability helpers, email delivery, dynamic markers, and configurable output capture.

See all features and configuration options →

Project Status

pytest-html-plus is stable and actively maintained, with its core reporting experience now well established. Future development will focus on compatibility, reliability, and carefully selected improvements that strengthen the core reporting experience.

We're also looking for co-maintainers to help review pull requests, triage issues, and keep the project healthy across future Python and pytest releases.

If you're interested in becoming a long-term contributor, we'd love to hear from you. Please open an issue or start a discussion.

Contributing

We welcome pull requests, issues, and feature suggestions from the community.

See the contribution guide for setup instructions.

📜 License

MIT

Releases

Used by

Contributors

Languages