From 85497c5509090f57456e781db6fcb1eb7ad62309 Mon Sep 17 00:00:00 2001 From: Pavel Feldman Date: Mon, 1 Nov 2021 18:57:29 -0800 Subject: [PATCH] feat(tracing): allow including source files in traces (#9946) --- docs/src/api/class-tracing.md | 4 ++++ packages/playwright-core/types/types.d.ts | 5 +++++ packages/playwright-test/src/index.ts | 2 +- tests/trace-viewer/trace-viewer.spec.ts | 4 ++-- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/docs/src/api/class-tracing.md b/docs/src/api/class-tracing.md index 62b86f28c1..d43458473d 100644 --- a/docs/src/api/class-tracing.md +++ b/docs/src/api/class-tracing.md @@ -127,7 +127,11 @@ a timeline preview. Whether to capture DOM snapshot on every action. +### option: Tracing.start.sources +* langs: js +- `sources` <[boolean]> +Whether to include source files for trace actions. ## async method: Tracing.startChunk diff --git a/packages/playwright-core/types/types.d.ts b/packages/playwright-core/types/types.d.ts index d1d803db25..7d544aec6c 100644 --- a/packages/playwright-core/types/types.d.ts +++ b/packages/playwright-core/types/types.d.ts @@ -14394,6 +14394,11 @@ export interface Tracing { * Whether to capture DOM snapshot on every action. */ snapshots?: boolean; + + /** + * Whether to include source files for trace actions. + */ + sources?: boolean; }): Promise; /** diff --git a/packages/playwright-test/src/index.ts b/packages/playwright-test/src/index.ts index df32bb7d3d..81a9e784b5 100644 --- a/packages/playwright-test/src/index.ts +++ b/packages/playwright-test/src/index.ts @@ -188,7 +188,7 @@ export const test = _baseTest.extend({ context.setDefaultNavigationTimeout(navigationTimeout || actionTimeout || 0); if (captureTrace) { if (!(context.tracing as any)[kTracingStarted]) { - await context.tracing.start({ screenshots: true, snapshots: true, sources: true } as any); + await context.tracing.start({ screenshots: true, snapshots: true, sources: true }); (context.tracing as any)[kTracingStarted] = true; } else { await context.tracing.startChunk(); diff --git a/tests/trace-viewer/trace-viewer.spec.ts b/tests/trace-viewer/trace-viewer.spec.ts index bbea6b45d2..b8df491532 100644 --- a/tests/trace-viewer/trace-viewer.spec.ts +++ b/tests/trace-viewer/trace-viewer.spec.ts @@ -110,7 +110,7 @@ const test = playwrightTest.extend<{ showTraceViewer: (trace: string) => Promise runAndTrace: async ({ context, showTraceViewer }, use, testInfo) => { await use(async (body: () => Promise) => { const traceFile = testInfo.outputPath('trace.zip'); - await context.tracing.start({ snapshots: true, screenshots: true, sources: true } as any); + await context.tracing.start({ snapshots: true, screenshots: true, sources: true }); await body(); await context.tracing.stop({ path: traceFile }); return showTraceViewer(traceFile); @@ -124,7 +124,7 @@ let traceFile: string; test.beforeAll(async function recordTrace({ browser, browserName, browserType, server }, workerInfo) { const context = await browser.newContext(); - await context.tracing.start({ name: 'test', screenshots: true, snapshots: true, sources: true } as any); + await context.tracing.start({ name: 'test', screenshots: true, snapshots: true, sources: true }); const page = await context.newPage(); await page.goto('data:text/html,Hello world'); await page.setContent('');