From c8a8b0dcaf57a60880e6b5c3b20acdaccb37253b Mon Sep 17 00:00:00 2001 From: Simon Knott Date: Fri, 20 Jun 2025 16:29:51 +0200 Subject: [PATCH] chore: npx open browserserver --- packages/playwright-core/src/cli/program.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/playwright-core/src/cli/program.ts b/packages/playwright-core/src/cli/program.ts index a1927b912de50..9c28ebb8e8b06 100644 --- a/packages/playwright-core/src/cli/program.ts +++ b/packages/playwright-core/src/cli/program.ts @@ -472,7 +472,15 @@ async function launchContext(options: Options, extraOptions: LaunchOptions): Pro launchOptions.proxy.bypass = options.proxyBypass; } - const browser = await browserType.launch(launchOptions); + let browser: Browser; + if (process.env.PW_BROWSER_SERVER) { + const url = new URL(process.env.PW_BROWSER_SERVER); + url.searchParams.set('connect', 'first'); + url.searchParams.set('launch-options', JSON.stringify(launchOptions)); + browser = await browserType.connect(url.toString()); + } else { + browser = await browserType.launch(launchOptions); + } if (process.env.PWTEST_CLI_IS_UNDER_TEST) { (process as any)._didSetSourcesForTest = (text: string) => { @@ -638,6 +646,8 @@ async function open(options: Options, url: string | undefined, language: string) handleSIGINT: false, }); await openPage(context, url); + if (process.env.PW_BROWSER_SERVER) + gracefullyProcessExitDoNotHang(0); } async function codegen(options: Options & { target: string, output?: string, testIdAttribute?: string }, url: string | undefined) {