From 5b17ca9d56a6ecc65f13afb47f2ab57517218fbe Mon Sep 17 00:00:00 2001 From: Pavel Feldman Date: Sat, 19 Feb 2022 17:46:26 -0800 Subject: [PATCH] cherry-pick(#12250): fix(electron): do not attach external debugger when running Electron tests --- packages/playwright-core/src/server/electron/electron.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/playwright-core/src/server/electron/electron.ts b/packages/playwright-core/src/server/electron/electron.ts index 39bd42fd6d..356fe2c656 100644 --- a/packages/playwright-core/src/server/electron/electron.ts +++ b/packages/playwright-core/src/server/electron/electron.ts @@ -127,10 +127,15 @@ export class Electron extends SdkObject { const artifactsDir = await fs.promises.mkdtemp(ARTIFACTS_FOLDER); const browserLogsCollector = new RecentLogsCollector(); + const env = options.env ? envArrayToObject(options.env) : process.env; + // When debugging Playwright test that runs Electron, NODE_OPTIONS + // will make the debugger attach to Electron's Node. But Playwright + // also needs to attach to drive the automation. Disable external debugging. + delete env.NODE_OPTIONS; const { launchedProcess, gracefullyClose, kill } = await launchProcess({ command: options.executablePath || require('electron/index.js'), args: electronArguments, - env: options.env ? envArrayToObject(options.env) : process.env, + env, log: (message: string) => { progress.log(message); browserLogsCollector.log(message);