diff --git a/packages/browser-pool/src/puppeteer/puppeteer-plugin.ts b/packages/browser-pool/src/puppeteer/puppeteer-plugin.ts index 8a5698a2c2ae..14034e5fe15a 100644 --- a/packages/browser-pool/src/puppeteer/puppeteer-plugin.ts +++ b/packages/browser-pool/src/puppeteer/puppeteer-plugin.ts @@ -128,6 +128,7 @@ export class PuppeteerPlugin extends BrowserPlugin< 'version', 'on', 'process', + 'pages', ] as const ).reduce((map, method) => { map[method] = browser[method as 'close']?.bind(browser); diff --git a/test/browser-pool/browser-plugins/plugins.test.ts b/test/browser-pool/browser-plugins/plugins.test.ts index d64c2a296924..ef530fbfc553 100644 --- a/test/browser-pool/browser-plugins/plugins.test.ts +++ b/test/browser-pool/browser-plugins/plugins.test.ts @@ -303,6 +303,18 @@ describe('Plugins', () => { } }); + test.concurrent('should allow calling functions on the proxied browser', async () => { + const plugin = new PuppeteerPlugin(puppeteer); + const launchContext = plugin.createLaunchContext(); + const browser = await plugin.launch(launchContext); + + try { + await expect(browser.pages()).resolves.toBeDefined(); + } finally { + await browser.close(); + } + }); + test.concurrent('should pass launch options to browser', async () => { const plugin = new PuppeteerPlugin(puppeteer);