Docs · Reporter
Playwright reporter
The Exolar QA reporter automatically captures your Playwright test results and sends them to your dashboard. Choose how you want to integrate.
How It Works
- Test Execution – Playwright runs your tests as normal
- Data Capture – The reporter captures results, logs, and artifacts
- Upload – Results are sent to Exolar QA API (only in CI)
- Dashboard – View results instantly in your dashboard
Features
CI-Only Activation
Automatically detects CI environments. No uploads during local development.
Zero Configuration
Works out of the box with just an API key. All settings have sensible defaults.
AI-Enriched Context
Captures detailed failure context for intelligent debugging with AI assistants.
Artifact Upload
Screenshots, videos, and traces are uploaded and accessible from the dashboard.
Integration Options
Quick Example
// playwright.config.ts
import { defineConfig } from "@playwright/test";
import { exolar } from "@exolar-qa/playwright-reporter";
export default defineConfig({
reporter: [
["html"],
[exolar, { apiKey: process.env.EXOLAR_API_KEY }]
],
});That's it! The reporter will automatically send results to Exolar QA when running in CI.
V2 Features — Ticket Linking & Enhanced Context
Ticket Linking
Link test files or tagged specs to Linear tickets using explicit mappings or automatic branch-name detection. Two approaches are supported and can be combined.
// playwright.config.ts
import { defineConfig } from "@playwright/test";
import { exolar } from "@exolar-qa/playwright-reporter";
export default defineConfig({
reporter: [
[exolar, {
apiKey: process.env.EXOLAR_API_KEY,
ticketMapping: {
"tests/auth/login.spec.ts": "ENG-123",
"@checkout": "ENG-456",
},
autoDetectTicket: true, // detects ENG-123 from branch name
}]
],
});Explicit Mapping
Map individual spec files or test tags (prefixed with @) directly to ticket IDs in ticketMapping.
Auto-Detection
Set autoDetectTicket: true to extract a ticket ID from the current git branch name (e.g. feat/ENG-123-login).
Enhanced Failure Context (AIFailureContextV2)
Failed tests now capture richer context in the AIFailureContextV2 payload, giving AI assistants and your team more signal when diagnosing failures.
retry_history
Full history of every retry attempt: attempt number, pass/fail status, and duration in milliseconds. Identifies flaky tests that fail intermittently across retries.
linked_ticket
The Linear ticket ID associated with the failing test, populated from either the explicit ticketMapping or branch-name auto-detection.
dom_snapshot (coming soon)
Accessibility tree captured at the exact point of failure, providing a lightweight structural snapshot of the page without a full screenshot.
network_log (coming soon)
Recent network requests made during the test, including URLs, methods, and status codes, to surface unexpected API errors or missing responses.