diff --git a/packages/playwright-core/src/common/timeoutSettings.ts b/packages/playwright-core/src/common/timeoutSettings.ts index 7708219444..7b923136de 100644 --- a/packages/playwright-core/src/common/timeoutSettings.ts +++ b/packages/playwright-core/src/common/timeoutSettings.ts @@ -18,6 +18,7 @@ import { debugMode } from '../utils'; export const DEFAULT_TIMEOUT = 30000; +export const DEFAULT_LAUNCH_TIMEOUT = 3 * 60 * 1000; // 3 minutes export class TimeoutSettings { private _parent: TimeoutSettings | undefined; @@ -69,4 +70,12 @@ export class TimeoutSettings { return 0; return DEFAULT_TIMEOUT; } + + static launchTimeout(options: { timeout?: number }): number { + if (typeof options.timeout === 'number') + return options.timeout; + if (debugMode()) + return 0; + return DEFAULT_LAUNCH_TIMEOUT; + } } diff --git a/packages/playwright-core/src/server/browserType.ts b/packages/playwright-core/src/server/browserType.ts index 8ca25fbf74..9ace20e4b0 100644 --- a/packages/playwright-core/src/server/browserType.ts +++ b/packages/playwright-core/src/server/browserType.ts @@ -71,7 +71,7 @@ export abstract class BrowserType extends SdkObject { if (seleniumHubUrl) return this._launchWithSeleniumHub(progress, seleniumHubUrl, options); return this._innerLaunchWithRetries(progress, options, undefined, helper.debugProtocolLogger(protocolLogger)).catch(e => { throw this._rewriteStartupError(e); }); - }, TimeoutSettings.timeout(options)); + }, TimeoutSettings.launchTimeout(options)); return browser; } @@ -82,7 +82,7 @@ export abstract class BrowserType extends SdkObject { controller.setLogName('browser'); const browser = await controller.run(progress => { return this._innerLaunchWithRetries(progress, options, persistent, helper.debugProtocolLogger(), userDataDir).catch(e => { throw this._rewriteStartupError(e); }); - }, TimeoutSettings.timeout(options)); + }, TimeoutSettings.launchTimeout(options)); return browser._defaultContext!; } diff --git a/packages/playwright-test/src/index.ts b/packages/playwright-test/src/index.ts index 84d081fb11..57ab3ee64b 100644 --- a/packages/playwright-test/src/index.ts +++ b/packages/playwright-test/src/index.ts @@ -134,7 +134,7 @@ export const test = _baseTest.extend({ const browser = await playwright[browserName].launch(); await use(browser); await browser.close(); - }, { scope: 'worker' } ], + }, { scope: 'worker', timeout: 0 } ], acceptDownloads: [ true, { option: true } ], bypassCSP: [ undefined, { option: true } ],