-
Notifications
You must be signed in to change notification settings - Fork 3.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cypress stuck at cy.visit() on saucedemo.com #27501
Comments
I can confirm this is happening in the example repo provided. There are a couple ways I'm able to reproduce the issue show below where the AUT url is not displaying even though the AUT itself appears to have loaded: I can trigger this when running the following command:
Note: this only appears to happen in electron I can also trigger it in open mode using the following command:
Note: this appears to happen in every browser |
@jordanpowell88 happens to me in chrome, electron and firefox. Somehow it seems Firefox is a little bit more resillient but ends up failing as well. |
|
The website https://www.saucedemo.com/ is deployed from the source repo https://github.com/saucelabs/sample-app-web to https://saucelabs.github.io/sample-app-web/. |
This issue is mentioned on https://filiphric.com/how-to-wait-for-page-to-load-in-cypress together with a resolution: I was not able to get this to work, but perhaps this hint may help in some way? |
@MikeMcC399 I tried above work-around https://filiphric.com/how-to-wait-for-page-to-load-in-cypress by using as below in my e2e.js file in support folder but still no luck . can you check and let me know if am doing anything mistake here import './commands'
beforeEach(()=> {
Cypress.on('uncaught:exception',()=> {
return false;
})
cy.intercept('https://www.saucedemo.com/').as('todos')
cy.visit('/',{headers: { "Accept-Encoding": "gzip, deflate" },});
cy.wait('@todos')
// page is loaded, continue with the test
}) |
Sorry for any confusion! I was also not able to get the workaround to solve the problem. We need to wait for further feedback from the Cypress team. |
Any update on this issue? |
Hello everybody, I've noticed that while I beforeEach(() => {
if (!window.navigator || !navigator.serviceWorker) {
return null;
}
const cypressPromise = new Cypress.Promise((resolve, reject) => {
navigator.serviceWorker.getRegistrations().then((registrations) => {
if(!registrations.length) resolve();
Promise.all(registrations).then(() => {
resolve();
});
});
});
cy.wrap('Unregister service workers').then(() => cypressPromise)
}); and my tests seems to work, hope that will help you all :) |
In my case downgrading cypress from 13.0.0 to 12.17.4 fix the issue. Still this might not be same issue. |
This issue is about the site https://www.saucedemo.com/ producing the error message
You have a different error message, so it would be better for you to open a different issue so that you can supply all the relevant details, including, for instance, which browser isn't connecting. |
In our case the problem was caused by an external resource that had no route in our internal network, so it ran into a connection timeout which in turn used up the 60 seconds of the Cypress connection test before the actual tests gets executed. So I am not sure if this is actually the problem described in this issue but I was able to debug it using the DEBUG env-variable to get extended debug information:
I hope this helps someone with the same issue. |
Many thanks for describing the reason for your problem and how you solved it! 👍🏻 It is a different root cause than the one in this issue, however, as you say, it may well help somebody else with the same symptoms. |
I was facing this issue. My solution was cypress->developer tools -> View Appdata. here I deleted the "production" folder cypress 12.17.4 |
Thank you @renzho7! After removing the production folder it worked for me for the only one test run and I had to remove it every time and rerun cypress. Thanks for your answer I decided to figure out where exactly in that folder is the problem. So I've finally found that you just need to delete this folder: The path and the result is here: |
Any updates on fixes for the original issue? |
Solution provided by @renzho7 is working! Thanks a lot dude! :) |
@renzho7 It works. Thank you!! |
I'm getting the same issue after setting up vite-pwa on a Vue application. Removing the file provided by @renzho7 fixed it on the GUI, but it still failed headlessly.. currently the only way I got it to work was by deleting the service worker
|
This works just fine for me :) Thanks! |
I have the same issue and none of those workarounds worked for me ;[
|
I have this same issue and it only happens on Chrome 120 headlessly (headed works fine) Chrome 118 the exact same test passes fine headless and headed |
Having the same issue with latest cypress 13.6.2 |
1 similar comment
Having the same issue with latest cypress 13.6.2 |
Having the same issue with latest cypress 13.6.2 the first one runs but all below fail, any work around guys? |
Same issue here, first test passes but the subsequent tests are facing : Cypress 13.6.2 |
Same. I have tried it on multiple cypress versions from 13.3.0 to 13.6.2 and also on chrome, electron and firefox, it happens on all of them. |
Same issue here. The problem with mine was some third party scripts or images wasn't able to fully load on the page correctly. Make sure you check the browser requests to detect those. After remove/prevent those resources being load, all the tests are working fine. |
tks!!! |
Hi, I was having the same issue (Chrome) and my solution was : cypress.config added chromeWebSecurity: false
Cypress v13.6.4 Solution: https://github.com/cypress-io/cypress/issues/19826 cc: @cachafla |
I had this issue with Cypress 13.6.6 (latest) and the Electron browser. The first test is working, but some subsequent tests are failing, similar to what @TiltUp-Rad described in #27501 (comment) In my case (which no doubt is different from many of the other cases described above) I think what happens is this:
There is no problem visiting Using This may be a niche situation, but I think it sheds light on the caching behavior of Electron, which could be the underlying reason for at least some of the problems reported here. |
I had the same issue @osma described, using version 13.6.6(latest).
I don't know what the actual problem is but for now, I'm going to stick with version 13.6.3 |
Having the same issue with latest cypress 13.7.0 too. Not sure when this issue will be fixed.
|
en mi caso lo solucione, re instalando cypress |
How do you prevent some resources not to load like some scripts not to load or stylesheets? |
Use environment variable is an option. Set |
if you have images try to stub them like this before calling cy.visit("/")
|
I am currently using I also tried solutions mentioned in the thread, nothing worked for me. i am using windows |
Nothing worked for me either, I am using latest cypress version (13.12.0). All I can notice is that the first two times the test is executed in headed mode, it works. After a third or fourth attempt, the error happens. I am using macOS and chrome 126. |
There was a bug with Chromium https://issues.chromium.org/issues/347724924 Updating to the latest version (126.0.6478.127) solved the issue for me. |
@GilbertoGNG Great news! We are facing same issue, and we applied 2 temporary solutions: beforeEach(() => {
cy.wrap(
Cypress.automation('remote:debugger:protocol', {
command: 'Network.clearBrowserCache',
})
);
// OR
cy.window().then((win) => {
return win.navigator.cookieEnabled;
});
cy.document().then((doc) => {
if (typeof doc.hasStorageAccess === 'function') {
return doc.hasStorageAccess();
} else {
// Return a resolved promise with true if hasStorageAccess is not supported
return Cypress.Promise.resolve(true);
}
});
}); |
In my case, I discovered resources (JS and Images) that:
To resolve this, I added the blockHosts configuration to the cypress.config.js file (example below):
And it started working normally. Cypress 13.13.0 |
None of the solutions above work for me either. I tried removing loading assets and other things except for the base functionality of the app. all of it.. none works. I am using webpack dev server so I am wondering if that also plays a role. Although I have had the same problem when building the production app as well. Sometimes it works.. mostly it doesn't. The thing that makes this so hard is that its really hard to debug this. I have no idea, why cypress doesn't detect the "load" event. When I run the chrome profiler on my app, the load event is clearly there. I also get a notification, if I subscribe to that event. So I consider this a bug of cypress. I checked the networking tab and everything gets downloaded and finished + load event. So I have no idea why cypress doesn't detect that my page load is finished. It would be good to have some debug functionality in cypress which at least tells you why it thinks the loading is blocked. |
I fixed the problem with this code: e2e: {
// Configure your E2E tests here
specPattern: "cypress/e2e/**/*.{cy,spec}.{js,ts}",
watchForFileChanges: false,
chromeWebSecurity: false,
blockHosts: ["https://events.backtrace.io"],
} As you can see, the sauce demo site has this broke url that always respond with a HTTP 401 status, so i block then and my sample project works fine now. Solution tested in Chrome and Firefox. Cypress: 13.13.2 The trick is: open the Cypress Runner, find some broken URLs, and block them all. Be careful, you have superpowers now |
The tests hang at the visit command when the spec file contains more than one test. This issue occurs on Chrome, Firefox, and Electron, and persists across different Cypress versions, both older and latest.
Cypress Version: 13.15.1 (stable) |
I had the same problem, with version 13.6.0 of Cypress. module.exports = defineConfig({ |
Current behavior
I have experienced the following issue before and reported it here #27185 but the website in question was really problematic and the discussion went anywhere but to the point.
I am now experiencing it in the most simple webapp possible: saucedemo.com
The error is this
It seems to work is some cases, but I'll provide instructions on how to reproduce it consistently.
Desired behavior
Cypress should not get stuck at cy.visit()
Test code to reproduce
Run both tests in this repo headed (npx cypress run --headed), or open the suite and run the tests.
https://github.com/esbarila/crowdar/tree/master
Cypress Version
12.17.3
Node version
18.16.0
Operating System
Linux (tried in Ubuntu 22.10 and Linux Mint 21)
Debug Logs
Other
No response
The text was updated successfully, but these errors were encountered: