- Self-contained HTML dashboard with MS Office 365 design - pytest plugin captures inputs, outputs, and errors per test - Unified orchestrator runs pytest + torture tests together - Test files persisted in reports/test_files/ with relative links - GitHub Actions workflow with PR comments and job summaries - Makefile with convenient commands (test, view-dashboard, etc.) - Works offline with embedded JSON data (no CORS issues)
2.7 KiB
2.7 KiB
Test Dashboard - Quick Start
TL;DR - 3 Commands to Get Started
# 1. Run all tests and generate dashboard
python run_dashboard_tests.py
# 2. View dashboard (alternative)
make test
# 3. Open existing dashboard
./view_dashboard.sh
What You Get
A beautiful, interactive HTML test dashboard that looks like Microsoft Office 365:
- Summary Cards - Pass/fail stats at a glance
- Interactive Filters - Search and filter by category/status
- Detailed Views - Expand any test to see inputs, outputs, errors
- MS Office Theme - Professional, familiar design
File Locations
reports/
├── test_dashboard.html ← Open this in browser
└── test_results.json ← Test data (auto-generated)
Common Tasks
Run Tests
make test # Run everything
make test-pytest # Pytest only
python torture_test.py # Torture tests only
View Results
./view_dashboard.sh # Auto-open in browser
make view-dashboard # Same thing
open reports/test_dashboard.html # Manual
Customize
# Edit colors
vim reports/test_dashboard.html # Edit CSS variables
# Change categorization
vim tests/pytest_dashboard_plugin.py # Edit _categorize_test()
Color Reference
- Word: Blue
#2B579A - Excel: Green
#217346 - PowerPoint: Orange
#D24726 - Pass: Green
#107C10 - Fail: Red
#D83B01
Example Output
$ python run_dashboard_tests.py
======================================================================
🧪 Running pytest test suite...
======================================================================
... pytest output ...
======================================================================
🔥 Running torture tests...
======================================================================
... torture test output ...
======================================================================
📊 TEST DASHBOARD SUMMARY
======================================================================
✅ Passed: 12
❌ Failed: 2
⏭️ Skipped: 1
📈 Pass Rate: 80.0%
⏱️ Duration: 45.12s
📄 Results saved to: reports/test_results.json
🌐 Dashboard: reports/test_dashboard.html
======================================================================
🌐 Opening dashboard in browser...
Troubleshooting
Dashboard shows no results?
→ Run tests first: python run_dashboard_tests.py
Can't open in browser?
→ Manually open: file:///path/to/reports/test_dashboard.html
Tests not categorized correctly?
→ Edit tests/pytest_dashboard_plugin.py, function _categorize_test()
More Info
- Full docs:
TEST_DASHBOARD.md - Implementation details:
DASHBOARD_SUMMARY.md - Dashboard features:
reports/README.md