Home

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

  1. Test Execution – Playwright runs your tests as normal
  2. Data Capture – The reporter captures results, logs, and artifacts
  3. Upload – Results are sent to Exolar QA API (only in CI)
  4. 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
// 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
// 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.