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.10.tar.gz (95.3 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.10-py3-none-any.whl (95.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: apmt_reports-0.1.10.tar.gz
  • Upload date:
  • Size: 95.3 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.10.tar.gz
Algorithm Hash digest
SHA256 874c2b0e930d64adc4a9349d92e33ba595809666178ba8bcd1a0612428b5a128
MD5 60b302e70ba93054890372e5ff51e603
BLAKE2b-256 51bfb6f26b578a91c11e6b39b271a6fee10afa3a9a41d0fea6f2148e341bac25

See more details on using hashes here.

File details

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

File metadata

  • Download URL: apmt_reports-0.1.10-py3-none-any.whl
  • Upload date:
  • Size: 95.9 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.10-py3-none-any.whl
Algorithm Hash digest
SHA256 af445e4176fc565c94eb195a8891caeeb061809e53e921201ffb3f7a1ef679b1
MD5 2c05d2e50a5f8783eece692316463300
BLAKE2b-256 55d843796b11893ee3c9d1a58edb1f8d61d2f46242a2a10f1c7d08e91fc1123f

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.10 This release

2 files

0.1.9

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