From 13cca1db3d1eb4a9ee8c07236097feeaae2eb12f Mon Sep 17 00:00:00 2001 From: Pavel Feldman Date: Tue, 3 Oct 2023 13:00:35 -0700 Subject: [PATCH] test: add a test for cdp w/ trace (#27410) Closes https://github.com/microsoft/playwright/issues/27409 --- .../library/chromium/connect-over-cdp.spec.ts | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/tests/library/chromium/connect-over-cdp.spec.ts b/tests/library/chromium/connect-over-cdp.spec.ts index 9030f60b5d..e3fd7a3d63 100644 --- a/tests/library/chromium/connect-over-cdp.spec.ts +++ b/tests/library/chromium/connect-over-cdp.spec.ts @@ -446,3 +446,25 @@ test('emulate media should not be affected by second connectOverCDP', async ({ b await browserServer.close(); } }); + +test('should allow tracing over cdp session', async ({ browserType, mode }, testInfo) => { + const port = 9339 + testInfo.workerIndex; + const browserServer = await browserType.launch({ + args: ['--remote-debugging-port=' + port] + }); + try { + const cdpBrowser = await browserType.connectOverCDP({ + endpointURL: `http://127.0.0.1:${port}/`, + }); + const [context] = cdpBrowser.contexts(); + await context.tracing.start({ screenshots: true, snapshots: true }); + const page = await context.newPage(); + await page.evaluate(() => 2 + 2); + const traceZip = testInfo.outputPath('trace.zip'); + await context.tracing.stop({ path: traceZip }); + await cdpBrowser.close(); + expect(fs.existsSync(traceZip)).toBe(true); + } finally { + await browserServer.close(); + } +});