From 9b794ef6c85bfaa5ad0430271a52ba8cc7ba3bc9 Mon Sep 17 00:00:00 2001 From: Alex Rudenko Date: Fri, 29 Apr 2022 07:36:35 +0200 Subject: [PATCH] fix: improve fixes --- src/node/Launcher.ts | 4 ++-- test/launcher.spec.ts | 2 +- test/proxy.spec.ts | 19 +++++++++++++++---- 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/src/node/Launcher.ts b/src/node/Launcher.ts index 20a3fd309bc81..6ebe144d0cf6a 100644 --- a/src/node/Launcher.ts +++ b/src/node/Launcher.ts @@ -203,7 +203,7 @@ class ChromeLauncher implements ProductLauncher { defaultArgs(options: BrowserLaunchArgumentOptions = {}): string[] { const chromeArguments = [ - '--allow-pre-commit-input', // Allows input events to be dispatched while the compositor commits are in progress. Reduces flakiness in headful. + '--allow-pre-commit-input', // TODO(crbug.com/1320996): neither headful nor headless should rely on this flag. '--disable-background-networking', '--enable-features=NetworkService,NetworkServiceInProcess', '--disable-background-timer-throttling', @@ -214,7 +214,7 @@ class ChromeLauncher implements ProductLauncher { '--disable-default-apps', '--disable-dev-shm-usage', '--disable-extensions', - '--disable-features=Translate,BackForwardCache,NetworkTimeServiceQuerying', + '--disable-features=Translate,BackForwardCache', '--disable-hang-monitor', '--disable-ipc-flooding-protection', '--disable-popup-blocking', diff --git a/test/launcher.spec.ts b/test/launcher.spec.ts index fe6d67d7192ea..33cb1ff71fbd4 100644 --- a/test/launcher.spec.ts +++ b/test/launcher.spec.ts @@ -548,12 +548,12 @@ describe('Launcher specs', function () { async () => { const { defaultBrowserOptions, puppeteer } = getTestState(); const options = { - args: ['--no-startup-window'], waitForInitialPage: false, // This is needed to prevent Puppeteer from adding an initial blank page. // See also https://github.com/puppeteer/puppeteer/blob/ad6b736039436fcc5c0a262e5b575aa041427be3/src/node/Launcher.ts#L200 ignoreDefaultArgs: true, ...defaultBrowserOptions, + args: ['--no-startup-window'], }; const browser = await puppeteer.launch(options); const pages = await browser.pages(); diff --git a/test/proxy.spec.ts b/test/proxy.spec.ts index 34655d27c104d..d26d64e69afe6 100644 --- a/test/proxy.spec.ts +++ b/test/proxy.spec.ts @@ -43,6 +43,9 @@ describeFailsFirefox('request proxy', () => { let proxiedRequestUrls: string[]; let proxyServer: Server; let proxyServerUrl: string; + const defaultArgs = [ + '--disable-features=NetworkTimeServiceQuerying', // We disable this in tests so that proxy-related tests don't intercept queries from this service in headful. + ]; beforeEach(() => { proxiedRequestUrls = []; @@ -100,7 +103,7 @@ describeFailsFirefox('request proxy', () => { browser = await puppeteer.launch({ ...defaultBrowserOptions, - args: [`--proxy-server=${proxyServerUrl}`], + args: [...defaultArgs, `--proxy-server=${proxyServerUrl}`], }); const page = await browser.newPage(); @@ -118,6 +121,7 @@ describeFailsFirefox('request proxy', () => { browser = await puppeteer.launch({ ...defaultBrowserOptions, args: [ + ...defaultArgs, `--proxy-server=${proxyServerUrl}`, `--proxy-bypass-list=${new URL(emptyPageUrl).host}`, ], @@ -138,7 +142,7 @@ describeFailsFirefox('request proxy', () => { browser = await puppeteer.launch({ ...defaultBrowserOptions, - args: [`--proxy-server=${proxyServerUrl}`], + args: [...defaultArgs, `--proxy-server=${proxyServerUrl}`], }); const context = await browser.createIncognitoBrowserContext(); @@ -157,6 +161,7 @@ describeFailsFirefox('request proxy', () => { browser = await puppeteer.launch({ ...defaultBrowserOptions, args: [ + ...defaultArgs, `--proxy-server=${proxyServerUrl}`, `--proxy-bypass-list=${new URL(emptyPageUrl).host}`, ], @@ -180,7 +185,10 @@ describeFailsFirefox('request proxy', () => { const { puppeteer, defaultBrowserOptions, server } = getTestState(); const emptyPageUrl = getEmptyPageUrl(server); - browser = await puppeteer.launch(defaultBrowserOptions); + browser = await puppeteer.launch({ + ...defaultBrowserOptions, + args: defaultArgs, + }); const context = await browser.createIncognitoBrowserContext({ proxyServer: proxyServerUrl, @@ -198,7 +206,10 @@ describeFailsFirefox('request proxy', () => { const { puppeteer, defaultBrowserOptions, server } = getTestState(); const emptyPageUrl = getEmptyPageUrl(server); - browser = await puppeteer.launch(defaultBrowserOptions); + browser = await puppeteer.launch({ + ...defaultBrowserOptions, + args: defaultArgs, + }); const context = await browser.createIncognitoBrowserContext({ proxyServer: proxyServerUrl,