Skip to main content

⚡ pytest-apmt-reporter

pytest-apmt-reporter is a premium, feature-rich, and visually stunning automated testing HTML reporter for Python, Pytest, and Playwright. Designed as a modern, high-fidelity alternative to Allure and Robot Framework, it features responsive layouts, a glowing glassmorphic dark-mode dashboard, interactive charts, nested execution steps, failure tracebacks, and automatically embedded screenshots.


🎨 Premium Visual Preview

(A sleek, glassmorphic dark-mode UI with vibrant neon colors, dynamic transitions, and interactive SVG status charts)


🚀 Easy & Beautiful Step-by-Step Guide

Step 1: 🔌 Installation

Install the package directly into your virtual environment:

pip install pytest-apmt-reporter

[!NOTE] By hooking directly into standard Pytest entry points, the reporter is automatically active immediately upon installation. No extra setup or config files are required!

Step 2: ✍️ Write Your Tests

Organize your test cases using step decorators, custom logs, metadata, and screenshots:

import pytest_apmt_reporter as apmt

@apmt.step("1. Authenticate with credentials")
def login(username, password):
    apmt.attach("Connecting to authorization endpoint...", name="Network Handshake")
    # ... login logic ...

def test_purchase_flow(page):
    """Verify purchase process end-to-end"""
    apmt.set_environment_info("Environment", "Staging-US-East")
    
    with apmt.step("2. Populate Shopping Cart"):
        apmt.attach('{"item_id": 102, "qty": 1}', name="API Request Payload", attachment_type=apmt.AttachmentType.JSON)
        
    login("demo_user", "secure_pass")
    
    with apmt.step("3. Navigate to checkout and confirm"):
        page.goto("https://shop.dev.local/checkout")
        # If any assertion fails below, a screenshot is automatically captured!
        assert page.locator("#confirm-btn").is_visible()

Step 3: 🛠️ Run & Generate

Simply run pytest as you normally would. The reporter will auto-detect and generate a beautiful self-contained HTML dashboard.

# Run pytest (generates report.html by default)
pytest

# Customize output filename and location
pytest --apmt-html=reports/e2e_dashboard.html

# Set a custom title for the dashboard header
pytest --apmt-title="US Staging E2E Suite"

Step 4: 📊 View the Report

Open the generated HTML file in any browser of your choice.

  • Windows (PowerShell): Start-Process report.html
  • macOS/Linux: open report.html

⚖️ Why pytest-apmt-reporter?

Feature pytest-apmt-reporter pytest-html (Default) Allure
Design Aesthetics 🌟 Glowing Premium Dark Mode 📄 Basic XML-like Table 📊 Good (Requires Server)
Self-Contained Yes (100% Offline-First) Yes (when configured) No (Requires Java Server)
Zero Config Setup Yes (Plug-and-Play) Yes No (Complex CLI install)
Auto Screenshots Yes (Auto Playwright hooks) No No
Interactive Charts Yes (SVG, Vanilla JS) No Yes

[!TIP] Since the report is 100% offline-first, all styles, execution metrics, and images are compiled into a single HTML file. No external CDNs or network connections are used, making it perfectly secure and portable for email sharing or CI/CD build artifacts.


📝 Advanced Features

1. Programmatic Attachments

Attach raw console stdout, logs, JSON objects, or custom screenshots directly to steps:

apmt.attach("Some text log content", name="Log Name")
apmt.attach('{"status": "success"}', name="API Output", attachment_type=apmt.AttachmentType.JSON)
apmt.attach_screenshot(page, name="Post-Login Screen")

2. Custom Environment Properties

Inject metadata dynamically in the header summary cards:

apmt.set_environment_info("Execution Mode", "Pytest Automation Suite")
apmt.set_environment_info("CI Build Run ID", "90123")

📈 Try the Repository Demo

To quickly see how exceptions, nested steps, and failure banners render, execute:

pytest demo/test_playwright_demo.py --apmt-html=demo_report.html

Download files

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

Source Distribution

apmt_reports-0.1.9.tar.gz (95.5 kB view details)

Uploaded Source

Built Distribution

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

apmt_reports-0.1.9-py3-none-any.whl (95.8 kB view details)

Uploaded Python 3

File details

Details for the file apmt_reports-0.1.9.tar.gz.

File metadata

  • Download URL: apmt_reports-0.1.9.tar.gz
  • Upload date:
  • Size: 95.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.7

File hashes

Hashes for apmt_reports-0.1.9.tar.gz
Algorithm Hash digest
SHA256 703a50145849dd1996b9dab09d36bbd54058afbf31af468cc06f7ec5d7df47ae
MD5 8afdb549498f3695c5c9e1b012d461e3
BLAKE2b-256 a5dc92131c4d9160c60af15206890bc2de661f34ca747e02820e1fcce754cec7

See more details on using hashes here.

File details

Details for the file apmt_reports-0.1.9-py3-none-any.whl.

File metadata

  • Download URL: apmt_reports-0.1.9-py3-none-any.whl
  • Upload date:
  • Size: 95.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.7

File hashes

Hashes for apmt_reports-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 3497b31e6381371a6c90941d6e907624b5af81c2b521fce2392460e4e44b498b
MD5 401e3baab51bbddb922043cd4c54d546
BLAKE2b-256 67136b8b7204f59bb53fc3e517503f6e7078f3a5377b25ea0d0caf996beaa6f3

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.10

2 files

This release

0.1.9 This release

2 files

0.1.8

2 files

0.1.7

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page