cypress-io / cypress

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

Upgrade to version 13.3.3 causes Cypress to crash in Angular #28136

Closed mattbodman closed 8 months ago

mattbodman commented 9 months ago

Current behavior

Running previously working Angular component tests results in an error "Session with given id not found." and Cypress crashes.

Specifically, when clicking "Start component testing in Chrome", Cypress crashes. Test with two different Angular applications.

Session with given id not found. Error: Session with given id not found. at <embedded>:2466:519827 at _._handleMessage (<embedded>:2466:521860) at A.<anonymous> (<embedded>:2466:521673) at A.emit (node:events:513:28) at g.U (<embedded>:2466:506953) at g.emit (node:events:513:28) at g.dataMessage (<embedded>:2466:487328) at <embedded>:2466:486860 at <embedded>:2466:478182 at <embedded>:2466:479134 at afterWrite (node:internal/streams/writable:500:5) at onwrite (node:internal/streams/writable:480:7) at Zlib.<anonymous> (node:internal/streams/transform:190:7) at Zlib.processCallback (node:zlib:613:8)

Desired behavior

Cypress shouldn't crash.

Test code to reproduce

https://github.com/mattbodman/cypress-test.git

  1. clone repo
  2. run cypress open
  3. choose component testing
  4. choose "start component testing in Chrome"
  5. observe command line

Cypress Version

13.3.3

Node version

18.18.0

Operating System

Windows 10 Ent

Debug Logs

No response

Other

No response

OleksiiKachan commented 9 months ago

not just angular. I have same thing with react after upgrading to 13.3.3. worked fine on 13.3.2

atmullan commented 9 months ago

Same for me with E2E Tests on react using Chrome, works ok if Electron is selected

asset-web commented 9 months ago

I am also seeing the same error inconsistently on E2E tests using Chrome and with Electron using the docker version of cypress/included:13.3.3. So far I have not been able to trigger this using Firefox for the same the same test suite.

Error: Session with given id not found.
    at <embedded>:2466:519827
    at _._handleMessage (<embedded>:2466:521860)
    at A.<anonymous> (<embedded>:2466:521673)
    at A.emit (node:events:513:28)
    at g.U (<embedded>:2466:506953)
    at g.emit (node:events:513:28)
    at g.dataMessage (<embedded>:2466:487328)
    at <embedded>:2466:486860
    at <embedded>:2466:478182
    at <embedded>:2466:479134
    at afterWrite (node:internal/streams/writable:500:5)
    at onwrite (node:internal/streams/writable:480:7)
    at Zlib.<anonymous> (node:internal/streams/transform:190:7)
    at Zlib.processCallback (node:zlib:613:8)```

Cypress: 13.3.3 Browser: Chrome 118 (headless) Node Version: v20.9.0 (/usr/local/bin/node)

OleksiiKachan commented 9 months ago

interesting thing it works in ci for me (we use circleci), but fails when I run locally 🤔

joshmccall221 commented 9 months ago

For me it looks like it is a chrome issue. Edge seems to work just fine.

CaiqueCoelho commented 9 months ago

I'm having the same problem, with Electron everything works fine

joshmccall221 commented 9 months ago

Looks like it's a chrome issue for me, edge works fine.

Michael-Ludgate commented 9 months ago

Same issue for me, OP's repo but with e2e tests using Edge (workaround rolling back from Cypress 13.3.3).

jfarris587 commented 9 months ago

I see this same error occurring as well. it randomly started the last day, however, we are on 12.6.0, so unsure if it is in fact related to v13 upgrades.

unlike @OleksiiKachan, we see it failing in github-actions, but passing locally

MikeMcC399 commented 9 months ago
ZipingL commented 9 months ago

I can confirm through metrics show on my CD status badges, that I had this issue, and after downgrading to cypress@13.3.2 I no longer had this issue.

Canary Heartbeat CD Enabler Integrated Unit Test Development Coding Effort

I just would like to take this time to encourage the cypress team to utilize continuous deployment and best practices for code deployments, especially for code that functions as a framework intended to facilitate continuous deployment/...

You should probably use another form of UI testing framework, such as @AWS CloudWatch Synthetics given the notable lack of a internal ui testing framework being used that isn't related to the product offered. Thank you

In light of such prevailing conditions, I find the forceful notifications and subsequent suspensions of Cypress account access, due to surpassing the complimentary quota in 'Cypress cloud usages,' to be an overly aggressive method of underscoring the requirement to transition to the paid versions of Cypress. This tactic is unpalatable, especially given the inherent instability of the service. Furthermore, I am compelled to express my disapproval and disappointment concerning the unprofessional and discourteous treatment of users, who are integral to the development process and serve as 'test users.' The sole motivation for my financial investment in a program or API is the convenience of not having to code it myself.For instance, in the realm of video games, I am willing to invest financially because they generally function seamlessly, sparing me the need to comprehend the intricate programming aspects.



I concur with your sentiment, @jfarris587, as this is undoubtedly an unfavorable statement that carries a negative connotation. However, I must inquire, is it justifiable to be confronted with a $75 monthly fee after surpassing the free quota in the @cypress-github-team-services-sa cloud, especially considering the current issues that question the stability of the product? I am merely playing the role of a devil's advocate in this scenario.
ragi96 commented 8 months ago

FYI: in my case its fixed with 13.4.0, see changelog

MikeMcC399 commented 8 months ago

@mattbodman

Could you try with cypress@13.4.0?

I wasn't able to reproduce from your repo and it seems that the issue can show up randomly. That is probably the reason also that various people thought it was linked to a certain browser - which was probably more coincidence than anything else.

It would be great anyway if you could check whether the latest release (13.4.0) resolves it for you.

asset-web commented 8 months ago

Works for me @MikeMcC399

OleksiiKachan commented 8 months ago

resolved in v13.4.0 for us

mattbodman commented 8 months ago

@MikeMcC399

Confirmed it is working on my test repo and production repo with 13.4.0. Thanks team!

MikeMcC399 commented 8 months ago

@mattbodman

It's great to hear that you are up-and-running again! 👍🏻 Would you like to close this issue now in that case? ⬇️ for Close button.