diff --git a/superset-frontend/cypress-base/cypress.config.ts b/superset-frontend/cypress-base/cypress.config.ts index 1d2c3baf49600..7340830bf0016 100644 --- a/superset-frontend/cypress-base/cypress.config.ts +++ b/superset-frontend/cypress-base/cypress.config.ts @@ -38,6 +38,23 @@ export default defineConfig({ // We've imported your old cypress plugins here. // You may want to clean this up later by importing these. setupNodeEvents(on, config) { + // ECONNRESET on Chrome/Chromium 117.0.5851.0 when using Cypress <12.15.0 + // Check https://github.com/cypress-io/cypress/issues/27804 for context + // TODO: This workaround should be removed when upgrading Cypress + on('before:browser:launch', (browser, launchOptions) => { + if (browser.name === 'chrome' && browser.isHeadless) { + // eslint-disable-next-line no-param-reassign + launchOptions.args = launchOptions.args.map(arg => { + if (arg === '--headless') { + return '--headless=new'; + } + + return arg; + }); + } + return launchOptions; + }); + // eslint-disable-next-line global-require,import/extensions return require('./cypress/plugins/index.js')(on, config); },