Version: 1.4.0

Working with Chrome Extensions

Playwright can be used for testing Chrome Extensions.

NOTE Extensions in Chrome / Chromium currently only work in non-headless mode.

The following is code for getting a handle to the background page of an extension whose source is located in ./my-extension:

const { chromium } = require('playwright');
(async () => {
const pathToExtension = require('path').join(__dirname, 'my-extension');
const userDataDir = '/tmp/test-user-data-dir';
const browserContext = await chromium.launchPersistentContext(userDataDir,{
headless: false,
args: [
const backgroundPage = browserContext.backgroundPages()[0];
// Test the background page as you would any other page.
await browserContext.close();

NOTE It is not yet possible to test extension popups or content scripts.