Skip to content

saucelabs/sauce-playwright-reporter

Repository files navigation

sauce-playwright-plugin

This Playwright plugin reports each project to your Sauce Labs account.

Installation

Install from npm:

npm install @saucelabs/playwright-reporter

Sauce Labs Credentials

Set the SAUCE_USERNAME and SAUCE_ACCESS_KEY environment variables to allow the plugin to report your results to Sauce Labs. Your Sauce Labs Username and Access Key are available from your dashboard.

Usage

Add to the default reporter:

npx playwright test --reporter=line,@saucelabs/playwright-reporter

Use only @saucelabs/playwright-reporter:

npx playwright test --reporter=@saucelabs/playwright-reporter

You can also configure it using playwright.config.js. To do that, add '@saucelabs/playwright-reporter' to the reporter section of your configuration:

const config = {
  reporter: [
    ['@saucelabs/playwright-reporter'],
  ],
  // Rest of your config goes here
};

Plugin Configuration

@saucelabs/playwright-reporter is configurable through your playwright.config.js or playwright.config.ts file.

Example:

const config = {
  reporter: [
    ['@saucelabs/playwright-reporter', {
      buildName: 'My Playwright Build',
      region: 'us-west-1',
      tags: [
        'playwright',
        'demo',
      ],
    }],
  ],
  // Rest of your config goes here
};
Name Description Type
buildName Sets a build ID.
Default: ''
string
tags Tags to add to the uploaded Sauce job.
Default: []
string[]
region Sets the region.
Default: us-west-1
us-west-1 | eu-central-1
upload Whether to upload report and assets to Sauce Labs.
Default: true
boolean
outputFile The local path to write the Sauce test report. Can be set in env var SAUCE_REPORT_OUTPUT_NAME. string
mergeVideos Whether to merge all video files generated by Playwright. This is useful when used with the upload option to upload the test report to Sauce Labs since it will allow you to view the merged video in the Sauce Labs Test Results page. Requires ffmpeg to be installed.
Default: false
boolean

Limitations

Some limitations apply to @saucelabs/playwright-reporter:

  • For Playwright versions before v1.16.3, the Playwright version is not reported to Sauce Labs.
  • The browser version is not reported to Sauce Labs.

Development

Running integration tests

There are tests included in tests/integration where the reporter is referenced directly.

$ npm run build
$ cd tests/integration
$ npx playwright test

Running Locally

If you have playwright tests outside of the repo, you can link and install the reporter to run in your external repo.

$ npm run build
$ npm link
$ npm link @saucelabs/playwright-reporter
$ npx playwright test --reporter=@saucelabs/playwright-reporter

Debug

After linking with npm link, you can run your Playwright tests with the environment variable DEBUG="@saucelabs/playwright-reporter:*" to see additional debug output.

$ DEBUG="@saucelabs/playwright-reporter:*" npx playwright test --reporter=@saucelabs/playwright-reporter