From 11cbdcf58ac97351accf5aa0d430ec0c99aa5fbb Mon Sep 17 00:00:00 2001 From: Pavel Feldman Date: Tue, 30 Nov 2021 17:32:29 -0800 Subject: [PATCH] fix(tracing): fix tracing + debugger test (#10619) --- packages/playwright-core/src/client/browserContext.ts | 6 +++--- .../src/server/supplements/recorder/recorderApp.ts | 4 ++-- .../src/server/supplements/recorderSupplement.ts | 2 +- tests/trace-viewer/trace-viewer.spec.ts | 1 - 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/packages/playwright-core/src/client/browserContext.ts b/packages/playwright-core/src/client/browserContext.ts index 74ea61692b..88309f4ebc 100644 --- a/packages/playwright-core/src/client/browserContext.ts +++ b/packages/playwright-core/src/client/browserContext.ts @@ -318,9 +318,9 @@ export class BrowserContext extends ChannelOwner await artifact.saveAs(this._options.recordHar.path); await artifact.delete(); } - await this._channel.close(); - await this._closedPromise; - }); + }, true); + await this._channel.close(); + await this._closedPromise; } catch (e) { if (isSafeCloseError(e)) return; diff --git a/packages/playwright-core/src/server/supplements/recorder/recorderApp.ts b/packages/playwright-core/src/server/supplements/recorder/recorderApp.ts index 39a32e04fd..9f0fdf50cf 100644 --- a/packages/playwright-core/src/server/supplements/recorder/recorderApp.ts +++ b/packages/playwright-core/src/server/supplements/recorder/recorderApp.ts @@ -85,7 +85,7 @@ export class RecorderApp extends EventEmitter { await mainFrame.goto(internalCallMetadata(), 'https://playwright/index.html'); } - static async open(sdkLanguage: string): Promise { + static async open(sdkLanguage: string, headed: boolean): Promise { const recorderPlaywright = (require('../../playwright').createPlaywright as typeof import('../../playwright').createPlaywright)('javascript', true); const args = [ '--app=data:text/html,', @@ -98,7 +98,7 @@ export class RecorderApp extends EventEmitter { channel: findChromiumChannel(sdkLanguage), args, noDefaultViewport: true, - headless: !!process.env.PWTEST_CLI_HEADLESS || (isUnderTest() && !process.env.HEADFUL), + headless: !!process.env.PWTEST_CLI_HEADLESS || (isUnderTest() && !headed), useWebSocket: !!process.env.PWTEST_RECORDER_PORT }); const controller = new ProgressController(internalCallMetadata(), context._browser); diff --git a/packages/playwright-core/src/server/supplements/recorderSupplement.ts b/packages/playwright-core/src/server/supplements/recorderSupplement.ts index 251a15be7f..33ce9f22a3 100644 --- a/packages/playwright-core/src/server/supplements/recorderSupplement.ts +++ b/packages/playwright-core/src/server/supplements/recorderSupplement.ts @@ -76,7 +76,7 @@ export class RecorderSupplement implements InstrumentationListener { } async install() { - const recorderApp = await RecorderApp.open(this._context._browser.options.sdkLanguage); + const recorderApp = await RecorderApp.open(this._context._browser.options.sdkLanguage, !!this._context._browser.options.headful); this._recorderApp = recorderApp; recorderApp.once('close', () => { this._debugger.resume(false); diff --git a/tests/trace-viewer/trace-viewer.spec.ts b/tests/trace-viewer/trace-viewer.spec.ts index c727be0ac7..f5e0a6ba1b 100644 --- a/tests/trace-viewer/trace-viewer.spec.ts +++ b/tests/trace-viewer/trace-viewer.spec.ts @@ -194,7 +194,6 @@ test('should open simple trace viewer', async ({ showTraceViewer }) => { /page.gotohttp:\/\/localhost:\d+\/frames\/frame.html/, /route.continue/, /page.setViewportSize/, - /browserContext.close/, ]); });