- 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)
115 lines
2.7 KiB
Markdown
115 lines
2.7 KiB
Markdown
# Test Dashboard - Quick Start
|
|
|
|
## TL;DR - 3 Commands to Get Started
|
|
|
|
```bash
|
|
# 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
|
|
```bash
|
|
make test # Run everything
|
|
make test-pytest # Pytest only
|
|
python torture_test.py # Torture tests only
|
|
```
|
|
|
|
### View Results
|
|
```bash
|
|
./view_dashboard.sh # Auto-open in browser
|
|
make view-dashboard # Same thing
|
|
open reports/test_dashboard.html # Manual
|
|
```
|
|
|
|
### Customize
|
|
```bash
|
|
# 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`
|