diff --git a/packages/playwright-core/src/server/trace/viewer/traceViewer.ts b/packages/playwright-core/src/server/trace/viewer/traceViewer.ts index 95f1f73ff4..48564666bf 100644 --- a/packages/playwright-core/src/server/trace/viewer/traceViewer.ts +++ b/packages/playwright-core/src/server/trace/viewer/traceViewer.ts @@ -81,12 +81,16 @@ export async function showTraceViewer(traceUrls: string[], browserName: string, if (traceViewerBrowser === 'chromium') await installAppIcon(page); - if (isUnderTest()) - page.on('close', () => context.close(serverSideCallMetadata()).catch(() => {})); - else - page.on('close', () => process.exit()); - const searchQuery = traceUrls.length ? '?' + traceUrls.map(t => `trace=${t}`).join('&') : ''; + const params = traceUrls.map(t => `trace=${t}`); + if (isUnderTest()) { + params.push('isUnderTest=true'); + page.on('close', () => context.close(serverSideCallMetadata()).catch(() => {})); + } else { + page.on('close', () => process.exit()); + } + + const searchQuery = params.length ? '?' + params.join('&') : ''; await page.mainFrame().goto(serverSideCallMetadata(), urlPrefix + `/trace/index.html${searchQuery}`); return context; } diff --git a/packages/trace-viewer/src/index.tsx b/packages/trace-viewer/src/index.tsx index 01f6597d72..bfec2f876b 100644 --- a/packages/trace-viewer/src/index.tsx +++ b/packages/trace-viewer/src/index.tsx @@ -24,7 +24,8 @@ import '@web/common.css'; (async () => { applyTheme(); if (window.location.protocol !== 'file:') { - await new Promise(f => setTimeout(f, 500)); + if (window.location.href.includes('isUnderTest=true')) + await new Promise(f => setTimeout(f, 1000)); navigator.serviceWorker.register('sw.bundle.js'); if (!navigator.serviceWorker.controller) { await new Promise(f => {