UNPKG

testcafe

Version:

Automated browser testing for the modern web development stack.

44 lines 7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.buildChromeArgs = exports.CONTAINERIZED_CHROME_FLAGS = void 0; exports.CONTAINERIZED_CHROME_FLAGS = ['--no-sandbox', '--disable-dev-shm-usage', '--disable-gpu']; function buildChromeArgs({ config, cdpPort, platformArgs, tempProfileDir, isContainerized, isNativeAutomation, browserName }) { const headlessMode = ['chrome', 'chromium'].includes(browserName) ? '--headless=new' : '--headless'; const defaultArgs = [ '--disable-features=LocalNetworkAccessChecks', '--disable-search-engine-choice-screen', '--disable-component-extensions-with-background-pages', '--allow-pre-commit-input', '--disable-background-networking', '--disable-background-timer-throttling', '--disable-backgrounding-occluded-windows', '--disable-breakpad', '--disable-default-apps', '--disable-extensions', '--disable-hang-monitor', '--disable-ipc-flooding-protection', '--disable-prompt-on-repost', '--disable-renderer-backgrounding', '--disable-sync', '--enable-automation', '--export-tagged-pdf', '--generate-pdf-document-outline', '--force-color-profile=srgb', '--metrics-recording-only', '--no-first-run', ]; let chromeArgs = [] .concat(cdpPort ? [`--remote-debugging-port=${cdpPort}`] : [], !config.userProfile ? [`--user-data-dir=${tempProfileDir.path}`] : [], config.headless ? [headlessMode] : [], config.userArgs ? [config.userArgs] : [], // NOTE: we need to prevent new window blocking for multiple windows in Native Automation isNativeAutomation ? ['--disable-popup-blocking'] : [], platformArgs ? [platformArgs] : [], defaultArgs) .join(' '); if (isContainerized) { exports.CONTAINERIZED_CHROME_FLAGS.forEach(flag => { if (!chromeArgs.includes(flag)) chromeArgs = chromeArgs.concat(' ', flag); }); } return chromeArgs; } exports.buildChromeArgs = buildChromeArgs; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtY2hyb21lLWFyZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYnJvd3Nlci9wcm92aWRlci9idWlsdC1pbi9kZWRpY2F0ZWQvY2hyb21lL2J1aWxkLWNocm9tZS1hcmdzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFhLFFBQUEsMEJBQTBCLEdBQUcsQ0FBQyxjQUFjLEVBQUUseUJBQXlCLEVBQUUsZUFBZSxDQUFDLENBQUM7QUFFdkcsU0FBZ0IsZUFBZSxDQUFFLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUU7SUFDaEksTUFBTSxZQUFZLEdBQUcsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO0lBQ3BHLE1BQU0sV0FBVyxHQUFJO1FBQ2pCLDZDQUE2QztRQUM3Qyx1Q0FBdUM7UUFDdkMsc0RBQXNEO1FBQ3RELDBCQUEwQjtRQUMxQixpQ0FBaUM7UUFDakMsdUNBQXVDO1FBQ3ZDLDBDQUEwQztRQUMxQyxvQkFBb0I7UUFDcEIsd0JBQXdCO1FBQ3hCLHNCQUFzQjtRQUN0Qix3QkFBd0I7UUFDeEIsbUNBQW1DO1FBQ25DLDRCQUE0QjtRQUM1QixrQ0FBa0M7UUFDbEMsZ0JBQWdCO1FBQ2hCLHFCQUFxQjtRQUNyQixxQkFBcUI7UUFDckIsaUNBQWlDO1FBQ2pDLDRCQUE0QjtRQUM1QiwwQkFBMEI7UUFDMUIsZ0JBQWdCO0tBQ25CLENBQUM7SUFFRixJQUFJLFVBQVUsR0FBRyxFQUFFO1NBQ2QsTUFBTSxDQUNILE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQywyQkFBMkIsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUNyRCxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQ3JFLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFDckMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7SUFDeEMseUZBQXlGO0lBQ3pGLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFDdEQsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQ2xDLFdBQVcsQ0FDZDtTQUNBLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUVmLElBQUksZUFBZSxFQUFFO1FBQ2pCLGtDQUEwQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7Z0JBQzFCLFVBQVUsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNsRCxDQUFDLENBQUMsQ0FBQztLQUNOO0lBRUQsT0FBTyxVQUFVLENBQUM7QUFDdEIsQ0FBQztBQS9DRCwwQ0ErQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQ09OVEFJTkVSSVpFRF9DSFJPTUVfRkxBR1MgPSBbJy0tbm8tc2FuZGJveCcsICctLWRpc2FibGUtZGV2LXNobS11c2FnZScsICctLWRpc2FibGUtZ3B1J107XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZENocm9tZUFyZ3MgKHsgY29uZmlnLCBjZHBQb3J0LCBwbGF0Zm9ybUFyZ3MsIHRlbXBQcm9maWxlRGlyLCBpc0NvbnRhaW5lcml6ZWQsIGlzTmF0aXZlQXV0b21hdGlvbiwgYnJvd3Nlck5hbWUgfSkge1xuICAgIGNvbnN0IGhlYWRsZXNzTW9kZSA9IFsnY2hyb21lJywgJ2Nocm9taXVtJ10uaW5jbHVkZXMoYnJvd3Nlck5hbWUpID8gJy0taGVhZGxlc3M9bmV3JyA6ICctLWhlYWRsZXNzJztcbiAgICBjb25zdCBkZWZhdWx0QXJncyAgPSBbXG4gICAgICAgICctLWRpc2FibGUtZmVhdHVyZXM9TG9jYWxOZXR3b3JrQWNjZXNzQ2hlY2tzJyxcbiAgICAgICAgJy0tZGlzYWJsZS1zZWFyY2gtZW5naW5lLWNob2ljZS1zY3JlZW4nLFxuICAgICAgICAnLS1kaXNhYmxlLWNvbXBvbmVudC1leHRlbnNpb25zLXdpdGgtYmFja2dyb3VuZC1wYWdlcycsXG4gICAgICAgICctLWFsbG93LXByZS1jb21taXQtaW5wdXQnLFxuICAgICAgICAnLS1kaXNhYmxlLWJhY2tncm91bmQtbmV0d29ya2luZycsXG4gICAgICAgICctLWRpc2FibGUtYmFja2dyb3VuZC10aW1lci10aHJvdHRsaW5nJyxcbiAgICAgICAgJy0tZGlzYWJsZS1iYWNrZ3JvdW5kaW5nLW9jY2x1ZGVkLXdpbmRvd3MnLFxuICAgICAgICAnLS1kaXNhYmxlLWJyZWFrcGFkJyxcbiAgICAgICAgJy0tZGlzYWJsZS1kZWZhdWx0LWFwcHMnLFxuICAgICAgICAnLS1kaXNhYmxlLWV4dGVuc2lvbnMnLFxuICAgICAgICAnLS1kaXNhYmxlLWhhbmctbW9uaXRvcicsXG4gICAgICAgICctLWRpc2FibGUtaXBjLWZsb29kaW5nLXByb3RlY3Rpb24nLFxuICAgICAgICAnLS1kaXNhYmxlLXByb21wdC1vbi1yZXBvc3QnLFxuICAgICAgICAnLS1kaXNhYmxlLXJlbmRlcmVyLWJhY2tncm91bmRpbmcnLFxuICAgICAgICAnLS1kaXNhYmxlLXN5bmMnLFxuICAgICAgICAnLS1lbmFibGUtYXV0b21hdGlvbicsXG4gICAgICAgICctLWV4cG9ydC10YWdnZWQtcGRmJyxcbiAgICAgICAgJy0tZ2VuZXJhdGUtcGRmLWRvY3VtZW50LW91dGxpbmUnLFxuICAgICAgICAnLS1mb3JjZS1jb2xvci1wcm9maWxlPXNyZ2InLFxuICAgICAgICAnLS1tZXRyaWNzLXJlY29yZGluZy1vbmx5JyxcbiAgICAgICAgJy0tbm8tZmlyc3QtcnVuJyxcbiAgICBdO1xuXG4gICAgbGV0IGNocm9tZUFyZ3MgPSBbXVxuICAgICAgICAuY29uY2F0KFxuICAgICAgICAgICAgY2RwUG9ydCA/IFtgLS1yZW1vdGUtZGVidWdnaW5nLXBvcnQ9JHtjZHBQb3J0fWBdIDogW10sXG4gICAgICAgICAgICAhY29uZmlnLnVzZXJQcm9maWxlID8gW2AtLXVzZXItZGF0YS1kaXI9JHt0ZW1wUHJvZmlsZURpci5wYXRofWBdIDogW10sXG4gICAgICAgICAgICBjb25maWcuaGVhZGxlc3MgPyBbaGVhZGxlc3NNb2RlXSA6IFtdLFxuICAgICAgICAgICAgY29uZmlnLnVzZXJBcmdzID8gW2NvbmZpZy51c2VyQXJnc10gOiBbXSxcbiAgICAgICAgICAgIC8vIE5PVEU6IHdlIG5lZWQgdG8gcHJldmVudCBuZXcgd2luZG93IGJsb2NraW5nIGZvciBtdWx0aXBsZSB3aW5kb3dzIGluIE5hdGl2ZSBBdXRvbWF0aW9uXG4gICAgICAgICAgICBpc05hdGl2ZUF1dG9tYXRpb24gPyBbJy0tZGlzYWJsZS1wb3B1cC1ibG9ja2luZyddIDogW10sXG4gICAgICAgICAgICBwbGF0Zm9ybUFyZ3MgPyBbcGxhdGZvcm1BcmdzXSA6IFtdLFxuICAgICAgICAgICAgZGVmYXVsdEFyZ3NcbiAgICAgICAgKVxuICAgICAgICAuam9pbignICcpO1xuXG4gICAgaWYgKGlzQ29udGFpbmVyaXplZCkge1xuICAgICAgICBDT05UQUlORVJJWkVEX0NIUk9NRV9GTEFHUy5mb3JFYWNoKGZsYWcgPT4ge1xuICAgICAgICAgICAgaWYgKCFjaHJvbWVBcmdzLmluY2x1ZGVzKGZsYWcpKVxuICAgICAgICAgICAgICAgIGNocm9tZUFyZ3MgPSBjaHJvbWVBcmdzLmNvbmNhdCgnICcsIGZsYWcpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gY2hyb21lQXJncztcbn1cbiJdfQ==