🎭Playwright JUnit Reporter
A Playwright JUnit reporter for M00N Report. Designed for Playwright Java browser automation with automatic step tracking via AspectJ, declarative test-case linking via @TestCaseId, real-time streaming, and rich artifact capture (screenshots, videos, traces).
Features
Test results stream to the dashboard via WebSocket as each test completes.
Methods annotated with @Step are tracked automatically via AspectJ.
Screenshots, videos, traces, and logs are captured on failure.
Each retry attempt is tracked as a separate execution record.
First-class Playwright Java integration with automatic artifact capture.
@TestCaseId links autotests to manual cases - single, multi-case, and parametrized modes.
Thread-safe for parallel test execution under JUnit Jupiter.
AI Setup Prompt
A complete, self-contained prompt for integrating this reporter into an existing Playwright Java project using an AI assistant. The prompt covers dependencies, configuration files, the base test class, page object pattern, retry handling, test case linking, video capture, and the most common integration pitfalls.
m00n.properties to.gitignore and commit a m00n.properties.example template with placeholder values.Configuration Reference
| Property | Required | Description |
|---|---|---|
m00n.serverUrl | Yes | M00N Report server URL (e.g., https://m00nreport.com) |
m00n.apiKey | Yes | Your project API key (get from dashboard) |
m00n.enabled | No | Enable/disable reporter (default: true) |
m00n.launch | No | Custom name for this test run |
m00n.tags | No | Comma-separated list of tags |
m00n.debug | No | Enable debug logging (default: false) |
m00n.attribute.* | No | Custom attributes (e.g., m00n.attribute.browser=chromium) |
CI/CD Context Banner
When you pass CI/CD-related attribute keys (via m00n.attribute.*), M00N Report automatically displays them in a dedicated CI context banner at the top of the launch view. Any attributes that don't match the keys below are shown as regular attribute badges.
Recognized CI Attribute Keys
| Banner Field | Accepted Keys (case-insensitive) | Example Value |
|---|---|---|
| Pipeline | pipeline, GITHUB_WORKFLOW, CI_PIPELINE_NAME, JOB_NAME | Deploy Production |
| Branch | branch, git_branch, GITHUB_REF, CI_COMMIT_REF_NAME, BRANCH_NAME | main |
| Commit | commit, git_commit, GITHUB_SHA, CI_COMMIT_SHA, GIT_COMMIT | a1b2c3d (truncated to 7 chars) |
| Build # | build_number, GITHUB_RUN_NUMBER, CI_PIPELINE_ID, BUILD_NUMBER | 1234 |
| Build URL | build_url, GITHUB_SERVER_URL, CI_PIPELINE_URL, BUILD_URL | https://github.com/... (clickable) |
| Environment | environment, env, DEPLOY_ENV | staging |
| Trigger | trigger, GITHUB_EVENT_NAME, CI_PIPELINE_SOURCE | push |
m00n.properties, use m00n.attribute.branch=main to set the branch. The attribute name after m00n.attribute. is matched against the accepted keys above.Concepts
Reference documentation for each subsystem of the reporter: attachment capture, extension coexistence, test case linking, step tracking, retry handling, and troubleshooting.