From 54d5978026d036b220decf448dfc6b3067787417 Mon Sep 17 00:00:00 2001 From: Max Schmitt Date: Thu, 10 Jun 2021 07:48:16 -0700 Subject: [PATCH] docs: added extensions page (#7010) --- docs/src/extensions.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 docs/src/extensions.md diff --git a/docs/src/extensions.md b/docs/src/extensions.md new file mode 100644 index 0000000000..406a8343bd --- /dev/null +++ b/docs/src/extensions.md @@ -0,0 +1,29 @@ +--- +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(); +})(); +```