From 2ea465bc82f596f37fddb59272437dc2f631f6de Mon Sep 17 00:00:00 2001 From: Joel Einbinder Date: Tue, 11 May 2021 13:04:21 -0700 Subject: [PATCH] test(chromium): add failing test for connecting to a browser with pages (#6502) --- tests/chromium/chromium.spec.ts | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/tests/chromium/chromium.spec.ts b/tests/chromium/chromium.spec.ts index 67caa90948..77e0adc22d 100644 --- a/tests/chromium/chromium.spec.ts +++ b/tests/chromium/chromium.spec.ts @@ -238,3 +238,31 @@ playwrightTest('should send extra headers with connect request', async ({browser expect(request.headers['foo']).toBe('bar'); } }); + +playwrightTest('should report all pages in an existing browser', async ({ browserType, browserOptions }, testInfo) => { + playwrightTest.fail(); + const port = 9339 + testInfo.workerIndex; + const browserServer = await browserType.launch({ + ...browserOptions, + args: ['--remote-debugging-port=' + port] + }); + try { + const cdpBrowser = await browserType.connectOverCDP({ + endpointURL: `http://localhost:${port}/`, + }); + const contexts = cdpBrowser.contexts(); + expect(contexts.length).toBe(1); + for (let i = 0; i < 3; i++) + await contexts[0].newPage(); + await cdpBrowser.close(); + + const cdpBrowser2 = await browserType.connectOverCDP({ + endpointURL: `http://localhost:${port}/`, + }); + expect(cdpBrowser2.contexts()[0].pages().length).toBe(3); + + await cdpBrowser2.close(); + } finally { + await browserServer.close(); + } +});