mirror of
https://github.com/microsoft/playwright.git
synced 2025-06-26 21:40:17 +00:00
30 lines
893 B
Markdown
30 lines
893 B
Markdown
![]() |
---
|
||
|
id: extensions
|
||
|
title: "Testing extensions"
|
||
|
---
|
||
|
|
||
|
:::note
|
||
|
Extensions only work in Chrome / Chromium in non-headless mode.
|
||
|
:::
|
||
|
|
||
|
The following is code for getting a handle to the [background page](https://developer.chrome.com/extensions/background_pages) of an extension whose source is located in `./my-extension`:
|
||
|
|
||
|
```js
|
||
|
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: [
|
||
|
`--disable-extensions-except=${pathToExtension}`,
|
||
|
`--load-extension=${pathToExtension}`
|
||
|
]
|
||
|
});
|
||
|
const backgroundPage = browserContext.backgroundPages()[0];
|
||
|
// Test the background page as you would any other page.
|
||
|
await browserContext.close();
|
||
|
})();
|
||
|
```
|