fix(chromium): do not create default page and context in headless (#1247)

This commit is contained in:
Yury Semikhatsky 2020-03-05 14:46:12 -08:00 committed by GitHub
parent b0d037ecfe
commit e770d706a1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 22 additions and 4 deletions

View File

@ -197,11 +197,13 @@ export class Chromium implements BrowserType {
'--mute-audio'
);
}
if (launchType !== 'persistent')
chromeArguments.push('--no-startup-window');
chromeArguments.push(...args);
if (args.every(arg => arg.startsWith('-')))
chromeArguments.push('about:blank');
if (launchType === 'persistent') {
if (args.every(arg => arg.startsWith('-')))
chromeArguments.push('about:blank');
} else {
chromeArguments.push('--no-startup-window');
}
return chromeArguments;
}

View File

@ -120,4 +120,20 @@ module.exports.describe = function({testRunner, expect, defaultBrowserOptions, p
await rmAsync(downloadsFolder);
});
});
describe('BrowserContext', function() {
it('should not create pages automatically', async function() {
const browser = await playwright.launch();
const browserSession = await browser.createBrowserSession();
const targets = [];
browserSession.on('Target.targetCreated', async ({targetInfo}) => {
if (targetInfo.type !== 'browser')
targets.push(targetInfo);
});
await browserSession.send('Target.setDiscoverTargets', { discover: true });
await browser.newContext();
await browser.close();
expect(targets.length).toBe(0);
});
});
};