Socket
Socket
Sign inDemoInstall

@currents/playwright

Package Overview
Dependencies
109
Maintainers
2
Versions
88
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @currents/playwright

Playwright integration and reporting tool for [Currents](https://currents.dev/playwright) - a cloud dashboard for debugging, troubleshooting and analysing parallel CI tests supporting Cypress and Playwright.


Version published
Weekly downloads
39K
increased by2.92%
Maintainers
2
Created
Weekly downloads
 

Readme

Source

@currents/playwright

Playwright integration and reporting tool for Currents - a cloud dashboard for debugging, troubleshooting and analysing parallel CI tests supporting Cypress and Playwright.

Documentation | Currents

  • Saves traces, videos, screenshots and console output to a cloud
  • Fetches git information and associated with CI builds
  • Integrates with your workflow - Slack, GitHub or GitLabPR comments and status checks
  • Flakiness, failure rate, duration and much more aggregative metrics
  • Powerful history and trends browser on test or spec level
  • Common errors tracker
  • Automated reports with test suite health metrics
  • REST API and HTTP Webhooks

Install

Make sure you already have Playwright installed, then run:

npm install @currents/playwright

Enable traces, screenshots and videos

use: {
  // ...
  trace: "on",
  video: "on",
  screenshot: "on",
}

Usage

Choose the preferred launch method:

  • executing a pwc CLI command - it runs playwright with a predefined configuration
  • add @currents/playwright reporter to Playwright configuration file

pwc CLI

We need to pass three parameters to run pwc:

  • our record key
  • the project ID, which is created when you create a project in the Current dashboard
  • the CI build ID

The command passes down all the other CLI flags to the Playwright test runner as-is. We can pass these as command line arguments, as environment variables, or a mixture of both.

pwc --project-id PROJECT_ID --key RECORD_KEY --ci-build-id hello-currents --tag tagA,tagB

@currents/playwright reporter

Alternatively, you can manually add the reporter to playwright configuration and keep using playwright test CLI command.

import type { PlaywrightTestConfig } from "@playwright/test";
import { currentsReporter } from '@currents/playwright';

const currentsConfig = {
  ciBuildId: process.env.CURRENTS_CI_BUILD_ID,
  recordKey: process.env.CURRENTS_RECORD_KEY,
  projectId: process.env.CURRENTS_PROJECT_ID,
  tag: ["runTagA", "runTagB"],
};

const config: PlaywrightTestConfig = {
  // explicitly provide reporter name and configuration
  [
    "@currents/playwright",
    currentsConfig
  ],
  // ...or use the helper function that ensures type safety
  currentsReporter(currentsConfig),
  /* other reporters, if exist, e.g.:
  ["html"]
  */
};

export default config;

You can also provide configuration by setting environment variables before running playwright command

CURRENTS_RECORD_KEY=RECORD_KEY CURRENTS_PROJECT_ID=PROJECT_ID CURRENTS_CI_BUILD_ID=hello-currents CURRENTS_TAG=tagA,tagB npx playwright test

Examples

Check out the example repository for integrating with GitHub Actions: https://github.com/currents-dev/playwright-gh-actions-demo, including parallel runs on multiple machines using Playwright shards.

Here’s a quick reference to configuration files:

Screenshots

By default Playwright only captures screenshots at the end of a test, according to the provided screenshot option. Manually created screenshots are hidden by default and not attached to any test.

To send additional screenshots to Currents, they have to be attached to the test. For example, you can attach a screenshot to a test like this

const { test, expect } = require("@playwright/test");

test("basic test", async ({ page }, testInfo) => {
  await page.goto("https://playwright.dev");
  const screenshot = await page.screenshot();
  await testInfo.attach("screenshot", {
    body: screenshot,
    contentType: "image/png",
  });
});

For more information see the Playwright test info attachment documentation.

Requirements

  • NodeJS 14.0.0+
  • Playwright 1.22.2+

Keywords

FAQs

Last updated on 26 Apr 2024

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc