PlatformPricingDocsBlogSign In
Sign InGet Started Free
PlatformPricingDocsBlogSign In

Stay up to date

Get the latest on the Euriqa platform, product updates, and test automation best practices.

Platform

  • Platform
  • Services
  • Pricing
  • Docs

Developers

  • Getting Started
  • API Reference
  • SDK
  • CI/CD Integration

Company

  • About
  • Blog
  • Contact
  • Security

Legal

  • Privacy Policy
  • Terms of Service
© 2026 Euriqa. All rights reserved.
  • Getting Started

    • Introduction
    • Quickstart
    • Reporter Configuration
    • CI/CD Setup
  • Platform Features

    • Test Orchestration
    • AI Features
    • Flakiness Detection
    • Artifacts & Uploads
    • Webhooks
    • Teams & Projects
  • API Reference

    • Authentication
    • API Reference
    • Data Model
  • Security

    • Security Overview
  • Playwright

    • Playwright Docs
    • Playwright API
    • Playwright Test Reporters

Reporter Configuration

Complete reference for configuring the Euriqa Playwright reporter, including all options, environment variables, and advanced settings.

Full Configuration Reference

Below is the complete configuration object with all available options and their defaults. Add this to your playwright.config.ts file.

playwright.config.tstypescript
import { defineConfig } from '@playwright/test';

export default defineConfig({
  reporter: [
    ['@euriqa/euriqa-playwright', {
      // Required — API key from your Euriqa dashboard
      apiKey: process.env.EURIQA_API_KEY,

      // Required — Project ID from your Euriqa dashboard
      projectId: process.env.EURIQA_PROJECT_ID,

      // API endpoint (default: https://app.euriqa.dev/api)
      apiUrl: 'https://app.euriqa.dev/api',

      // Reporting mode
      realTimeStreaming: false,    // Stream results as tests complete (paid)
      allowLocalRuns: false,       // Enable reporting from local dev (paid)
      runTitle: undefined,         // Custom title for the test run

      // Artifact uploads
      uploadScreenshots: true,     // Upload test screenshots
      uploadTraces: true,          // Upload Playwright trace files
      uploadVideos: true,          // Upload test video recordings
      uploadHtmlReport: false,     // Upload full HTML report
      htmlReportPath: 'playwright-report', // Path to HTML report folder

      // File size limits (in bytes)
      fileSizeLimits: {
        screenshot: 5 * 1024 * 1024,    // 5 MB
        video: 100 * 1024 * 1024,        // 100 MB
        trace: 50 * 1024 * 1024,         // 50 MB
        htmlReport: 200 * 1024 * 1024,   // 200 MB
      },

      // Performance
      requestTimeout: 30000,       // API request timeout (30s)
      uploadTimeout: 300000,       // File upload timeout (5min)
      includeOutput: true,         // Include stdout/stderr
      debug: false,                // Enable verbose logging

      // Step categories to track (default: all)
      stepCategories: ['action', 'assertion', 'hook', 'fixture'],

      // Proxy configuration for corporate environments
      proxy: {
        protocol: 'http',
        host: 'proxy.company.com',
        port: 8080,
        auth: {
          username: 'user',
          password: 'pass',
        },
      },
    }],
    // Keep your existing reporters
    ['html'],
  ],
});

Environment Variables

All configuration options can also be set via environment variables. Environment variables take precedence over config file values, making them ideal for CI/CD pipelines.

Required

  • EURIQA_API_KEYstringRequired
    API authentication key from your Euriqa dashboard. Minimum 16 characters. Placeholder values like your-api-key are rejected.
  • EURIQA_PROJECT_IDstringRequired
    Project identifier (UUID) from your Euriqa dashboard.

API Connection

  • EURIQA_API_URLstring
    Custom API endpoint. Defaults to https://app.euriqa.dev/api. HTTPS is required except for localhost during development.

Reporting Mode

  • EURIQA_REAL_TIME_STREAMINGboolean
    Enable real-time streaming of test results as they complete. Paid feature. Default: false.
  • EURIQA_ALLOW_LOCAL_RUNSboolean
    Enable reporting from local development environments. Paid feature. Default: false.
  • EURIQA_RUN_TITLEstring
    Custom title for the test run. Auto-generated if not provided.

Git Metadata Overrides

  • EURIQA_BRANCHstring
    Branch name override. Fallbacks: GIT_BRANCH.
  • EURIQA_COMMIT_SHAstring
    Commit SHA override. Fallbacks: GIT_COMMIT, CI_COMMIT_SHA.
  • EURIQA_COMMIT_MESSAGEstring
    Commit message override. Fallback: GIT_COMMIT_MESSAGE.
  • EURIQA_AUTHORstring
    Commit author override. Fallback: GIT_AUTHOR.

Artifact Uploads

  • EURIQA_UPLOAD_SCREENSHOTSboolean
    Upload test screenshots. Default: true.
  • EURIQA_UPLOAD_TRACESboolean
    Upload Playwright trace files. Default: true.
  • EURIQA_UPLOAD_VIDEOSboolean
    Upload test video recordings. Default: true.
  • EURIQA_UPLOAD_HTML_REPORTboolean
    Upload the full Playwright HTML report. Default: false.

Debug

  • EURIQA_DEBUGboolean
    Enable verbose debug logging. Default: false.

Step Categories

By default, the reporter tracks all step categories: actions, assertions, hooks, and fixtures. You can customize which categories are tracked to reduce noise or focus on specific areas.

Default (All Categories)

playwright.config.tstypescript
reporter: [
  ['@euriqa/euriqa-playwright', {
    apiKey: process.env.EURIQA_API_KEY,
    projectId: process.env.EURIQA_PROJECT_ID,
    // Default: all categories tracked
    stepCategories: ['action', 'assertion', 'hook', 'fixture'],
  }],
]

Custom (Actions and Assertions Only)

playwright.config.tstypescript
reporter: [
  ['@euriqa/euriqa-playwright', {
    apiKey: process.env.EURIQA_API_KEY,
    projectId: process.env.EURIQA_PROJECT_ID,
    // Only track user actions and assertions
    stepCategories: ['action', 'assertion'],
  }],
]

Available step categories:

  • action — Playwright actions such as click, fill, goto, type
  • assertion — All expect calls and assertions
  • hook — beforeEach, afterEach, beforeAll, afterAll
  • fixture — Fixture setup and teardown steps

File Size Limits

Each artifact type has a default size limit and a set of allowed file extensions. Files exceeding the size limit are logged with a warning and skipped — they will not cause the reporter to fail.

Artifact TypeDefault LimitAllowed Extensions
Screenshots5 MB.png, .jpg, .jpeg, .webp, .gif
Videos100 MB.webm, .mp4, .avi, .mov
Traces50 MB.zip
HTML Reports200 MB.zip (entire report directory)
Generic Attachments10 KB inline / URL for larger.png, .jpg, .json, .txt, .log, .zip, .html

You can customize size limits using the fileSizeLimits option:

playwright.config.tstypescript
reporter: [
  ['@euriqa/euriqa-playwright', {
    apiKey: process.env.EURIQA_API_KEY,
    projectId: process.env.EURIQA_PROJECT_ID,
    fileSizeLimits: {
      screenshot: 10 * 1024 * 1024,   // 10 MB
      video: 200 * 1024 * 1024,        // 200 MB
      trace: 100 * 1024 * 1024,        // 100 MB
      htmlReport: 500 * 1024 * 1024,   // 500 MB
    },
  }],
]

Reporting Modes

The reporter supports three distinct modes for sending test results to the Euriqa platform.

Batch Processing (Default)

By default, test results are collected during the run and sent as a single batch after all tests complete. This is the most efficient mode and is included in all plans.

playwright.config.tstypescript
reporter: [
  ['@euriqa/euriqa-playwright', {
    apiKey: process.env.EURIQA_API_KEY,
    projectId: process.env.EURIQA_PROJECT_ID,
    // Batch mode is the default — no additional config needed
  }],
]

Real-Time Streaming

Stream test results to the dashboard as each test completes. See results live without waiting for the full run to finish. This is a paid feature.

playwright.config.tstypescript
reporter: [
  ['@euriqa/euriqa-playwright', {
    apiKey: process.env.EURIQA_API_KEY,
    projectId: process.env.EURIQA_PROJECT_ID,
    realTimeStreaming: true,
  }],
]

Local Runs

By default, the reporter only sends results when running in a CI environment. Enable local runs to report results from your development machine. This is a paid feature.

playwright.config.tstypescript
reporter: [
  ['@euriqa/euriqa-playwright', {
    apiKey: process.env.EURIQA_API_KEY,
    projectId: process.env.EURIQA_PROJECT_ID,
    allowLocalRuns: true,
  }],
]
When allowLocalRuns is disabled (default), running tests locally will silently skip reporting. No errors are thrown — your tests run normally.

CI vs Local Detection

The reporter automatically detects whether it is running in a CI environment by checking for the presence of common CI environment variables. If any of the following variables are set, the reporter considers the environment as CI:

  • CI
  • CONTINUOUS_INTEGRATION
  • BUILD_NUMBER
  • GITHUB_ACTIONS
  • GITLAB_CI
  • CIRCLECI
  • TRAVIS
  • JENKINS_URL
  • TEAMCITY_VERSION
  • BUILDKITE
  • BITBUCKET_PIPELINE_UUID
  • AZURE_PIPELINES
  • CODEBUILD_BUILD_ID

Git Metadata Auto-Detection

Even outside of CI, the reporter automatically detects Git metadata using the following commands. Each command has a 5-second timeout to avoid delays, and non-git environments are handled gracefully.

Auto-detected git commandsbash
# Branch name
git rev-parse --abbrev-ref HEAD

# Commit SHA
git rev-parse HEAD

# Commit message
git log -1 --format=%s

# Author name
git log -1 --format=%an

All auto-detected values can be overridden using environment variables (EURIQA_BRANCH, EURIQA_COMMIT_SHA, EURIQA_COMMIT_MESSAGE, EURIQA_AUTHOR) or via the reporter configuration object.

Proxy Configuration

For corporate environments that require a proxy for outbound connections, configure the proxy option in the reporter settings.

playwright.config.tstypescript
reporter: [
  ['@euriqa/euriqa-playwright', {
    apiKey: process.env.EURIQA_API_KEY,
    projectId: process.env.EURIQA_PROJECT_ID,
    proxy: {
      protocol: 'http',       // 'http' or 'https'
      host: 'proxy.company.com',
      port: 8080,
      auth: {                  // Optional authentication
        username: 'proxyuser',
        password: 'proxypass',
      },
    },
  }],
]

Debug Mode

Enable debug mode to get verbose logging from the reporter. This is useful for troubleshooting connectivity issues, upload failures, or unexpected behavior.

playwright.config.tstypescript
reporter: [
  ['@euriqa/euriqa-playwright', {
    apiKey: process.env.EURIQA_API_KEY,
    projectId: process.env.EURIQA_PROJECT_ID,
    debug: true,
  }],
]

Or enable via environment variable:

Enable debug via envbash
EURIQA_DEBUG=true npx playwright test

When debug mode is enabled, the reporter logs detailed information including:

  • API request and response details
  • Artifact upload progress and status
  • CI environment detection results
  • Git metadata resolution
  • Configuration resolution (with API key masked)
API keys are always masked in debug output for security. You will see values like eur_****abcd instead of the full key.

Console Output

After tests complete, the reporter prints a summary to the console with key information about the run:

  • Test statistics (passed, failed, skipped, flaky counts)
  • Run ID and project ID
  • Playwright version and worker count
  • Environment and CI provider information
  • Direct link to results in the Euriqa dashboard
  • Upload status for all artifact types
Example outputbash
Euriqa Reporter
────────────────────────────────────
  Tests:    42 passed, 3 failed, 2 skipped, 1 flaky
  Run ID:   run_abc123def456
  Project:  proj_xyz789
  Playwright: 1.48.0 (4 workers)
  CI:       GitHub Actions
  Branch:   feature/login-flow
  Commit:   a1b2c3d

  Screenshots: 5 uploaded
  Videos:      3 uploaded
  Traces:      3 uploaded

  View results: https://app.euriqa.dev/runs/run_abc123def456
────────────────────────────────────

Security

The reporter includes several security measures to protect your data:

  • API key validation — Minimum 16 characters, rejects placeholder values
  • File path traversal prevention — Blocks path traversal attempts in artifact names
  • Null byte injection prevention — Sanitizes file paths against null byte attacks
  • File extension whitelisting — Only allowed extensions per artifact type are uploaded
  • API key masking — Keys are masked in all log output
  • HTTPS required — All API connections require HTTPS (except localhost for development)