cypress-io / cypress

Fast, easy and reliable testing for anything that runs in a browser.
https://cypress.io
MIT License
46.84k stars 3.17k forks source link

Cypress Run Command opens a non-focusable white window #30374

Open ItsWasteD opened 6 days ago

ItsWasteD commented 6 days ago

Current behavior

Hello, since last week our "cypress run" commands open a weird non-focusable blank window (see screenshot). I have no idea why this is happening i haven't updated cypress in one month. I even tried to change my browser option from "-b edge" to "-b chrome" but it still happened.

Also that white window doesn't have an Icon in the taskbar as if it wasn't an application or anything like that.

image

Desired behavior

The white window shouldn't appear.

Test code to reproduce

cypress run -s 'cypress/e2e/Basis/first/*,cypress/e2e/Basis/*,cypress/e2e/Basis/last/*' -b edge -C test.config.js

Cypress Version

13.13.1

Node version

v20.12.2

Operating System

Windows 11

Debug Logs

I tried to isolate the part where the white window opened. Mainly because there was private information in the Debug Log aswell.

cypress:server:controllers:spec request for { spec: 'cypress\\support\\e2e.js' } +0ms
  cypress:server:preprocessor getting file cypress\support\e2e.js +92ms
  cypress:server:preprocessor getFile C:\Dev\dms_automated_testing\cypress\support\e2e.js +0ms
  cypress:server:appdata path: C:\Users\u232184\AppData\Roaming\Cypress\cy\production\projects\dms_automated_testing-72e3e3379ca5b29c1d723adf7b6a342b\bundles\cypress\support\e2e.js +91ms
  cypress:lifecycle:EventRegistrar execute plugin event 'file:preprocessor' Node 'v18.17.1' with args: EventEmitter { _events: [Object: null prototype] { rerun: [Function (anonymous)] }, _eventsCount: 1, _maxListeners: undefined, filePath: 'C:\\Dev\\dms_automated_testing\\cypress\\support\\e2e.js', shouldWatch: false, outputPath: 'C:\\Users\\u232184\\AppData\\Roaming\\Cypress\\cy\\production\\projects\\dms_automated_testing-72e3e3379ca5b29c1d723adf7b6a342b\\bundles\\cypress\\support\\e2e.js', [Symbol(kCapture)]: false } undefined undefined +91ms
  cypress:lifecycle:ProjectConfigManager call event file:preprocessor for invocation id inv2 +91ms
  cypress:server:controllers:spec request for { spec: 'cypress\\e2e\\Basis\\first\\dmstesting_281_1.js' } +2ms    
  cypress:server:preprocessor getting file cypress\e2e\Basis\first\dmstesting_281_1.js +1ms
  cypress:server:preprocessor getFile C:\Dev\dms_automated_testing\cypress\e2e\Basis\first\dmstesting_281_1.js +0ms
  cypress:server:preprocessor headless and already processed +0ms
  cypress:proxy:http:util:prerequests Never received pre-request or url without pre-request for request GET-https://config.edge.skype.com/config/v1/Edge/129.0.2792.79?clientId=-296196844617193392&agents=EdgeFirstRunConfig&osname=win&client=edge&channel=stable&scpfre=0&osarch=x86_64&osver=10.0.22631&wu=1&devicefamily=desktop&uma=0&sessionid=0&mngd=1&installdate=1728376968&edu=0&bphint=2&soobedate=1714391426&fg=1 after waiting 2000ms. Continuing without one. +0ms
  cypress:network:cors Parsed URL { port: '443', protocol: 'https:', subdomain: 'config.edge', domain: 'skype', tld: 'com' } +844ms
  cypress:server:remote-states getting remote state: undefined for: https://config.edge.skype.com/config/v1/Edge/129.0.2792.79?clientId=-296196844617193392&agents=EdgeFirstRunConfig&osname=win&client=edge&channel=stable&scpfre=0&osarch=x86_64&osver=10.0.22631&wu=1&devicefamily=desktop&uma=0&sessionid=0&mngd=1&installdate=1728376968&edu=0&bphint=2&soobedate=1714391426&fg=1 +251ms
  cypress:network:cors Parsed URL { port: '443', protocol: 'https:', subdomain: null, domain: 'sbb', tld: 'ch' } +0ms
  cypress:server:remote-states getting remote state: { auth: undefined, origin: 'https://dmstest.sbb.ch', strategy: 'http', fileServer: null, domainName: 'sbb.ch', props: { port: '443', protocol: 'https:', subdomain: 'dmstest', domain: 'sbb', tld: 'ch' } } for: https://sbb.ch +0ms
  cypress:server:stream_buffer stream buffer writeable final called +0ms
  cypress:network:agent addRequest called { isHttps: true, href: 'https://config.edge.skype.com/config/v1/Edge/129.0.2792.79?clientId=-296196844617193392&agents=EdgeFirstRunConfig&osname=win&client=edge&channel=stable&scpfre=0&osarch=x86_64&osver=10.0.22631&wu=1&devicefamily=desktop&uma=0&sessionid=0&mngd=1&installdate=1728376968&edu=0&bphint=2&soobedate=1714391426&fg=1' } +0ms
  cypress:network:connect beginning getAddress { hostname: 'config.edge.skype.com', port: 443 } +630ms
  cypress:proxy:http:util:prerequests Never received pre-request or url without pre-request for request GET-https://edge.microsoft.com/serviceexperimentation/v3/?osname=win&channel=stable&osver=10.0.22631&devicefamily=desktop&installdate=1728376968&clientversion=129.0.2792.79&experimentationmode=1&scpguard=0&scpfull=0&scpver=0 after waiting 2000ms. Continuing without one. +34ms
  cypress:network:cors Parsed URL { port: '443', protocol: 'https:', subdomain: 'edge', domain: 'microsoft', tld: 'com' } +40ms
  cypress:server:remote-states getting remote state: undefined for: https://edge.microsoft.com/serviceexperimentation/v3/?osname=win&channel=stable&osver=10.0.22631&devicefamily=desktop&installdate=1728376968&clientversion=129.0.2792.79&experimentationmode=1&scpguard=0&scpfull=0&scpver=0 +41ms
  cypress:network:cors Parsed URL { port: '443', protocol: 'https:', subdomain: null, domain: 'sbb', tld: 'ch' } +1ms
  cypress:server:remote-states getting remote state: { auth: undefined, origin: 'https://dmstest.sbb.ch', strategy: 'http', fileServer: null, domainName: 'sbb.ch', props: { port: '443', protocol: 'https:', subdomain: 'dmstest', domain: 'sbb', tld: 'ch' } } for: https://sbb.ch +0ms
  cypress:server:stream_buffer stream buffer writeable final called +35ms
  cypress:network:agent addRequest called { isHttps: true, href: 'https://edge.microsoft.com/serviceexperimentation/v3/?osname=win&channel=stable&osver=10.0.22631&devicefamily=desktop&installdate=1728376968&clientversion=129.0.2792.79&experimentationmode=1&scpguard=0&scpfull=0&scpver=0' } +33ms
  cypress:network:connect beginning getAddress { hostname: 'edge.microsoft.com', port: 443 } +33ms
  cypress:network:connect got addresses { hostname: 'config.edge.skype.com', port: 443, addresses: [ { address: '13.107.42.16', family: 4 } ] } +7ms
  cypress:network:agent got family { family: 4, href: 'https://config.edge.skype.com/config/v1/Edge/129.0.2792.79?clientId=-296196844617193392&agents=EdgeFirstRunConfig&osname=win&client=edge&channel=stable&scpfre=0&osarch=x86_64&osver=10.0.22631&wu=1&devicefamily=desktop&uma=0&sessionid=0&mngd=1&installdate=1728376968&edu=0&bphint=2&soobedate=1714391426&fg=1' } +19ms
  cypress:network:connect got addresses { hostname: 'edge.microsoft.com', port: 443, addresses: [ { address: '13.107.21.239', family: 4 }, { address: '204.79.197.239', family: 4 } ] } +21ms
  cypress:network:agent got family { family: 4, href: 'https://edge.microsoft.com/serviceexperimentation/v3/?osname=win&channel=stable&osver=10.0.22631&devicefamily=desktop&installdate=1728376968&clientversion=129.0.2792.79&experimentationmode=1&scpguard=0&scpfull=0&scpver=0' } +24ms
  cypress:server:request received status code & headers on request { requestId: 'request4', statusCode: 200, headers: { 'content-type': 'application/json; charset=utf-8' } } +0ms
  cypress:server:request successful response received { requestId: 'request4' } +0ms
  cypress:net-stubbing:server:intercept-response InterceptResponse { req: { url: '/serviceexperimentation/v3/?osname=win&channel=stable&osver=10.0.22631&devicefamily=desktop&installdate=1728376968&clientversion=129.0.2792.79&experimentationmode=1&scpguard=0&scpfull=0&scpver=0' }, request: undefined } +0ms
  cypress:network:cors Parsed URL { port: '443', protocol: 'https:', subdomain: null, domain: 'sbb', tld: 'ch' } +173ms
  cypress:server:remote-states getting remote state: { auth: undefined, origin: 'https://dmstest.sbb.ch', strategy: 'http', fileServer: null, domainName: 'sbb.ch', props: { port: '443', protocol: 'https:', subdomain: 'dmstest', domain: 'sbb', tld: 'ch' } } for: https://sbb.ch +173ms
  cypress:network:cors Parsed URL { port: '443', protocol: 'https:', subdomain: 'edge', domain: 'microsoft', tld: 'com' } +1ms
  cypress:network:cors Parsed URL { port: '443', protocol: 'https:', subdomain: 'edge', domain: 'microsoft', tld: 'com' } +0ms
  cypress:server:remote-states getting primary remote state: { auth: undefined, origin: 'https://dmstest.sbb.ch', strategy: 'http', fileServer: null, domainName: 'sbb.ch', props: { port: '443', protocol: 'https:', subdomain: 'dmstest', domain: 'sbb', tld: 'ch' } } +1ms
  cypress:network:cors Parsed URL { port: '443', protocol: 'https:', subdomain: 'edge', domain: 'microsoft', tld: 'com' } +0ms
  cypress:network:cors Parsed URL { port: '443', protocol: 'https:', subdomain: 'edge', domain: 'microsoft', tld: 'com' } +0ms
  cypress:network:cors Parsed URL { port: '443', protocol: 'https:', subdomain: null, domain: 'sbb', tld: 'ch' } +1ms
  cypress:server:remote-states getting remote state: { auth: undefined, origin: 'https://dmstest.sbb.ch', strategy: 'http', fileServer: null, domainName: 'sbb.ch', props: { port: '443', protocol: 'https:', subdomain: 'dmstest', domain: 'sbb', tld: 'ch' } } for: https://sbb.ch +1ms
  cypress:lifecycle:child:RunPlugins:25620 execute plugin event: file:preprocessor ({ invocationId: 'inv2', eventId: 4 }) +535ms
  cypress:webpack user options: { webpackOptions: { mode: 'development', node: { global: true, __filename: true, __dirname: true }, module: { rules: [Array] }, plugins: [ [ProvidePlugin], [LimitChunkCountPlugin] ], resolve: { extensions: [Array], fallback: [Object], plugins: [] }, entry: [ 'C:\\Dev\\dms_automated_testing\\cypress\\e2e\\Basis\\first\\dmstesting_281_1.js' ], output: { publicPath: '', path: 'C:\\Users\\u232184\\AppData\\Roaming\\Cypress\\cy\\production\\projects\\dms_automated_testing-72e3e3379ca5b29c1d723adf7b6a342b\\bundles\\cypress\\e2e\\Basis\\first', filename: 'dmstesting_281_1.js' }, devtool: 'inline-source-map' } } +525ms
  cypress:webpack get C:\Dev\dms_automated_testing\cypress\support\e2e.js +1ms
  cypress:webpack load default options +0ms
  cypress:webpack setting devtool to inline-source-map +0ms
  cypress:webpack typescript not found +534ms
  cypress:webpack Limiting number of chunks to 1 +2ms
  cypress:webpack webpackOptions: { mode: 'development', node: { global: true, __filename: true, __dirname: true }, module: { rules: [ [Object], [Object], [Object] ] }, plugins: [ ProvidePlugin { definitions: [Object] }, LimitChunkCountPlugin { options: [Object] }, LimitChunkCountPlugin { options: [Object] } ], resolve: { extensions: [ '.js', '.json', '.jsx', '.mjs', '.coffee' ], fallback: { assert: 'C:\\Users\\u232184\\AppData\\Local\\Cypress\\Cache\\13.15.0\\Cypress\\resources\\app\\node_modules\\assert\\build\\assert.js', buffer: 'C:\\Users\\u232184\\AppData\\Local\\Cypress\\Cache\\13.15.0\\Cypress\\resources\\app\\node_modules\\buffer\\index.js', child_process: false, cluster: false, console: false, constants: 'C:\\Users\\u232184\\AppData\\Local\\Cypress\\Cache\\13.15.0\\Cypress\\resources\\app\\node_modules\\constants-browserify\\constants.json', crypto: 'C:\\Users\\u232184\\AppData\\Local\\Cypress\\Cache\\13.15.0\\Cypress\\resources\\app\\node_modules\\crypto-browserify\\index.js', dgram: false, dns: false, domain: 'C:\\Users\\u232184\\AppData\\Local\\Cypress\\Cache\\13.15.0\\Cypress\\resources\\app\\node_modules\\domain-browser\\source\\index.js', events: 'C:\\Users\\u232184\\AppData\\Local\\Cypress\\Cache\\13.15.0\\Cypress\\resources\\app\\node_modules\\events\\events.js', fs: false, http: 'C:\\Users\\u232184\\AppData\\Local\\Cypress\\Cache\\13.15.0\\Cypress\\resources\\app\\node_modules\\stream-http\\index.js', https: 'C:\\Users\\u232184\\AppData\\Local\\Cypress\\Cache\\13.15.0\\Cypress\\resources\\app\\node_modules\\https-browserify\\index.js', http2: false, inspector: false, module: false, net: false, os: 'C:\\Users\\u232184\\AppData\\Local\\Cypress\\Cache\\13.15.0\\Cypress\\resources\\app\\node_modules\\os-browserify\\browser.js', path: 'C:\\Users\\u232184\\AppData\\Local\\Cypress\\Cache\\13.15.0\\Cypress\\resources\\app\\node_modules\\path-browserify\\index.js', perf_hooks: false, punycode: 'C:\\Users\\u232184\\AppData\\Local\\Cypress\\Cache\\13.15.0\\Cypress\\resources\\app\\node_modules\\punycode\\punycode.js', process: 'C:\\Users\\u232184\\AppData\\Local\\Cypress\\Cache\\13.15.0\\Cypress\\resources\\app\\node_modules\\process\\browser.js', querystring: 'C:\\Users\\u232184\\AppData\\Local\\Cypress\\Cache\\13.15.0\\Cypress\\resources\\app\\node_modules\\querystring-es3\\index.js', readline: false, repl: false, stream: 'C:\\Users\\u232184\\AppData\\Local\\Cypress\\Cache\\13.15.0\\Cypress\\resources\\app\\node_modules\\stream-browserify\\index.js', string_decoder: 'C:\\Users\\u232184\\AppData\\Local\\Cypress\\Cache\\13.15.0\\Cypress\\resources\\app\\node_modules\\string_decoder\\lib\\string_decoder.js', sys: 'C:\\Users\\u232184\\AppData\\Local\\Cypress\\Cache\\13.15.0\\Cypress\\resources\\app\\node_modules\\util\\util.js', timers: 'C:\\Users\\u232184\\AppData\\Local\\Cypress\\Cache\\13.15.0\\Cypress\\resources\\app\\node_modules\\timers-browserify\\main.js', tls: false, tty: 'C:\\Users\\u232184\\AppData\\Local\\Cypress\\Cache\\13.15.0\\Cypress\\resources\\app\\node_modules\\tty-browserify\\index.js', url: 'C:\\Users\\u232184\\AppData\\Local\\Cypress\\Cache\\13.15.0\\Cypress\\resources\\app\\node_modules\\url\\url.js', util: 'C:\\Users\\u232184\\AppData\\Local\\Cypress\\Cache\\13.15.0\\Cypress\\resources\\app\\node_modules\\util\\util.js', vm: 'C:\\Users\\u232184\\AppData\\Local\\Cypress\\Cache\\13.15.0\\Cypress\\resources\\app\\node_modules\\vm-browserify\\index.js', zlib: 'C:\\Users\\u232184\\AppData\\Local\\Cypress\\Cache\\13.15.0\\Cypress\\resources\\app\\node_modules\\browserify-zlib\\lib\\index.js' }, plugins: [] }, entry: [ 'C:\\Dev\\dms_automated_testing\\cypress\\support\\e2e.js' ], output: { publicPath: '', path: 'C:\\Users\\u232184\\AppData\\Roaming\\Cypress\\cy\\production\\projects\\dms_automated_testing-72e3e3379ca5b29c1d723adf7b6a342b\\bundles\\cypress\\support', filename: 'e2e.js' }, devtool: 'inline-source-map' } +0ms
  cypress:webpack watchOptions: {} +1ms
  cypress:webpack input: C:\Dev\dms_automated_testing\cypress\support\e2e.js +0ms
  cypress:webpack output: C:\Users\u232184\AppData\Roaming\Cypress\cy\production\projects\dms_automated_testing-72e3e3379ca5b29c1d723adf7b6a342b\bundles\cypress\support\e2e.js +0ms
  cypress:server:request received status code & headers on request { requestId: 'request3', statusCode: 200, headers: { 'content-type': 'application/json' } } +119ms
  cypress:server:request successful response received { requestId: 'request3' } +0ms
  cypress:net-stubbing:server:intercept-response InterceptResponse { req: { url: '/config/v1/Edge/129.0.2792.79?clientId=-296196844617193392&agents=EdgeFirstRunConfig&osname=win&client=edge&channel=stable&scpfre=0&osarch=x86_64&osver=10.0.22631&wu=1&devicefamily=desktop&uma=0&sessionid=0&mngd=1&installdate=1728376968&edu=0&bphint=2&soobedate=1714391426&fg=1' }, request: undefined } +117ms
  cypress:network:cors Parsed URL { port: '443', protocol: 'https:', subdomain: null, domain: 'sbb', tld: 'ch' } +115ms
  cypress:server:remote-states getting remote state: { auth: undefined, origin: 'https://dmstest.sbb.ch', strategy: 'http', fileServer: null, domainName: 'sbb.ch', props: { port: '443', protocol: 'https:', subdomain: 'dmstest', domain: 'sbb', tld: 'ch' } } for: https://sbb.ch +115ms
  cypress:network:cors Parsed URL { port: '443', protocol: 'https:', subdomain: 'config.edge', domain: 'skype', tld: 'com' } +1ms
  cypress:network:cors Parsed URL { port: '443', protocol: 'https:', subdomain: 'config.edge', domain: 'skype', tld: 'com' } +0ms
  cypress:server:remote-states getting primary remote state: { auth: undefined, origin: 'https://dmstest.sbb.ch', strategy: 'http', fileServer: null, domainName: 'sbb.ch', props: { port: '443', protocol: 'https:', subdomain: 'dmstest', domain: 'sbb', tld: 'ch' } } +1ms
  cypress:network:cors Parsed URL { port: '443', protocol: 'https:', subdomain: 'config.edge', domain: 'skype', tld: 'com' } +0ms
  cypress:network:cors Parsed URL { port: '443', protocol: 'https:', subdomain: 'config.edge', domain: 'skype', tld: 'com' } +0ms
  cypress:network:cors Parsed URL { port: '443', protocol: 'https:', subdomain: null, domain: 'sbb', tld: 'ch' } +1ms
  cypress:server:remote-states getting remote state: { auth: undefined, origin: 'https://dmstest.sbb.ch', strategy: 'http', fileServer: null, domainName: 'sbb.ch', props: { port: '443', protocol: 'https:', subdomain: 'dmstest', domain: 'sbb', tld: 'ch' } } for: https://sbb.ch +1ms

Other

Chrome Version: 129.0.6668.101 Edge Version: 129.0.2792.79

MikeMcC399 commented 6 days ago

@ItsWasteD

Please share your browser version of

MikeMcC399 commented 6 days ago

It looks like this started happening with the release of Chromium family version 128 browsers. It seems to only affect Windows.

This issue is reproducible on Windows 11 24H2 with

The additional blank window does not appear when using the older Chromium version

I was not able to reproduce the issue on Ubuntu 24.04.1 LTS

ItsWasteD commented 5 days ago

@MikeMcC399 Added the chrome version. I'm using Chrome Version: 129.0.6668.101

MikeMcC399 commented 5 days ago

@ItsWasteD

Added the chrome version. I'm using Chrome Version: 129.0.6668.101

Thanks for confirming! I guess you are just picking up the automatic updates of Edge and Chrome.

I couldn't see anything obvious in https://developer.chrome.com/blog/new-in-chrome-128 to explain the change in behavior.