Skip to main content
What you’ll learn
  • How to upload Playwright results using the TestDino CircleCI Orb
  • Orb configuration options for HTML, full bundle, and custom paths
Set up CircleCI to upload Playwright test results to TestDino using the TestDino Orb — a prebuilt package that wraps the TestDino CLI so you don’t need to install it separately. This guide covers orb configuration options for HTML uploads, full bundles, and custom paths.
RecommendationFor more configuration options and the latest features, use the TestDino CLI approach instead. The Orb wraps the CLI but may not include all new updates immediately.

Prerequisites

Before setting up, ensure you have:
playwright.config.js
// ...existing config

reporter: [
  ['html', { outputDir: './playwright-report' }],  // Optional
  ['json', { outputFile: './playwright-report/report.json' }],  // ✅ Required
]

Set Up Your API Key

  1. Open your project in CircleCI
  2. Go to Project Settings → Environment Variables
  3. Click Add Environment Variable
  4. Set the name to TESTDINO_TOKEN
  5. Paste your TestDino API key as the value
  6. Save the variable
WarningNever commit your API key directly in config files. Always use environment variables.

Basic Upload

.circleci/config.yml
version: '2.1'
orbs:
  testdino: testdino/[email protected]
jobs:
  run-tests:
    docker:
      - image: mcr.microsoft.com/playwright:v1.40.0-focal
    steps:
      - checkout
      - run:
          command: npm ci
          name: Install dependencies
      - run:
          command: npx playwright test
          name: Run Playwright tests
      - testdino/upload-report:
          report_directory: ./playwright-report
          token: TESTDINO_TOKEN
workflows:
  test-and-upload:
    jobs:
      - run-tests

Upload with HTML Report

.circleci/config.yml
version: '2.1'
orbs:
  testdino: testdino/[email protected]
jobs:
  upload-with-html:
    docker:
      - image: mcr.microsoft.com/playwright:v1.40.0-focal
    steps:
      - checkout
      - run:
          command: npm ci
          name: Install dependencies
      - run:
          command: npx playwright test
          name: Run Playwright tests
      - testdino/upload-report:
          report_directory: ./playwright-report
          token: TESTDINO_TOKEN
          upload_html: true
          verbose: true
      - store_artifacts:
          destination: playwright-report
          path: ./playwright-report
workflows:
  test-with-testdino:
    jobs:
      - upload-with-html:
          context: testdino-credentials

Upload Full Bundle

Include all artifacts (JSON, images, videos) in one upload.
.circleci/config.yml
version: '2.1'
orbs:
  testdino: testdino/[email protected]
jobs:
  upload-full-bundle:
    docker:
      - image: mcr.microsoft.com/playwright:v1.40.0-focal
    steps:
      - checkout
      - run:
          command: npm ci
          name: Install dependencies
      - run:
          command: npx playwright test
          name: Run Playwright tests
      - testdino/upload-report:
          report_directory: ./playwright-report
          token: TESTDINO_TOKEN
          upload_full_json: true
          verbose: true
workflows:
  test-with-testdino:
    jobs:
      - upload-full-bundle:
          context: testdino-credentials

Upload with Custom Paths

Specify custom report paths and include images and videos.
.circleci/config.yml
version: '2.1'
orbs:
  testdino: testdino/[email protected]
jobs:
  upload-with-custom-paths:
    docker:
      - image: mcr.microsoft.com/playwright:v1.40.0-focal
    steps:
      - checkout
      - run:
          command: npm ci
          name: Install dependencies
      - run:
          command: npx playwright test
          name: Run Playwright tests
      - testdino/upload-report:
          report_directory: ./test-results
          json_report: ./test-results/results.json
          html_report: ./test-results/index.html
          token: TESTDINO_TOKEN
          upload_images: true
          upload_videos: true
workflows:
  test-with-testdino:
    jobs:
      - upload-with-custom-paths:
          context: testdino-credentials

Orb Parameters

ParameterRequiredDescription
report_directoryYesPath to the Playwright report directory
tokenYesCircleCI environment variable name holding the TestDino API key
upload_htmlNoUpload HTML report (true / false)
upload_full_jsonNoUpload full JSON bundle with all artifacts
upload_imagesNoUpload screenshot attachments
upload_videosNoUpload video recordings
json_reportNoCustom path to JSON report file
html_reportNoCustom path to HTML report file
verboseNoEnable verbose logging output
TipUse CircleCI contexts (e.g., testdino-credentials) to manage secrets across multiple jobs without repeating environment variable setup.

Troubleshooting

Ensure the orb is imported correctly: testdino: testdino/[email protected]. Check the CircleCI Orb Registry for the latest version.
Confirm the environment variable is set in CircleCI → Project Settings → Environment Variables. If using contexts, verify the job references the correct context name.

Next Steps

CI Optimization

Reduce CI time with smart reruns

Branch Mapping

Map branches to environments for organized test runs

Integrations

Connect Slack, Jira, Linear, Asana, and more

TestDino MCP

Access test results and fix issues with AI agents