npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@lullabot/playwright-testing

v2.0.0

Published

Framework-neutral Playwright testing utilities

Readme

@lullabot/playwright-testing

Framework-neutral utilities for stable Playwright screenshots, accessibility baselines, URL-driven visual comparisons, CKEditor 5 editing, WebKit autofocus stabilization, and GitHub reporting.

This package is developed in the playwright-drupal monorepo, but it has no Drupal runtime assumptions. Drupal projects can instead install @lullabot/playwright-drupal, which applies Drupal-specific defaults and preserves the original API.

Install

npm install --save-dev @lullabot/playwright-testing @playwright/test

@axe-core/playwright is a runtime dependency. @playwright/test is a required peer dependency: install Playwright 1.50.0 or newer within 1.x in your project. Both Lullabot packages use that exact runner instance.

For an existing project that has not declared the runner directly, run npm install --save-dev '@playwright/test@^1.50.0' or yarn add --dev '@playwright/test@^1.50.0', then commit the updated manifest and lockfile. If you already declare a supported runner, keep its chosen version. npm 7 and newer install required peers by default; Yarn expects your project to provide them.

Package entry points

  • @lullabot/playwright-testing exports screenshot stabilization, accessibility checks and baselines, visual-diff definitions, interaction and pseudo-state helpers, openAllDetails(), CKEditor 5 editing, reusable mocks, and the suppressWebKitAutofocus() init script (installed explicitly in WebKit contexts).
  • @lullabot/playwright-testing/github exports the optional GitHub report, attachment-upload, and path-remapping APIs.
  • playwright-testing-a11y-summary and playwright-testing-failure-summary expose the reporting commands.

The package does not replace Playwright's test fixture. Import test, expect, and testInfo from @playwright/test, then pass the page and test metadata to the helpers:

import { expect, test } from '@playwright/test';
import { takeAccessibleScreenshot } from '@lullabot/playwright-testing';

test('home page', async ({ page }, testInfo) => {
  await page.goto('/');
  await takeAccessibleScreenshot(page, testInfo, { fullPage: true });
  await expect(page).toHaveTitle(/Example/);
});

Guides

Drupal compatibility

Existing @lullabot/playwright-drupal imports remain supported. That package depends on this one, re-exports the generic APIs, and wraps screenshot and visual-diff calls with its Drupal preset. New framework-neutral code can import this package directly; Drupal tests that depend on database isolation, Drush, login helpers, or the a11y fixture should continue importing the Drupal package.