Giter Club home page Giter Club logo

Comments (8)

patrykkarny avatar patrykkarny commented on June 8, 2024 11

Similar here. We use cypress 12.5.1 and @testing-library/cypress 9.0.0. Everything worked fine until yesterday when the test hung on cy.findAllByTestId and failed after the timeout. The issue happened only CI. Overwriting the element error message, as @jessezhang91 suggested, seems to fix it. We added that as a global cypress configuration to cypress/support/e2e.ts:

import { configure } from '@testing-library/cypress';

configure({
  getElementError(message, container) {
    const error = new Error(
      [message, container.tagName].filter(Boolean).join('\n\n'),
    );
    error.name = 'TestingLibraryElementError';
    return error;
  },
});

It looks like when the testing library error occurs, it breaks the retry-ability of the cypress and fails after the timeout. I wonder why it was working before and suddenly stopped working without any lib updates 🤔

from cypress-testing-library.

jessezhang91 avatar jessezhang91 commented on June 8, 2024 9

i added this:

before(() => {
  cy.configureCypressTestingLibrary({
    getElementError(message, container) {
      const error = new Error(
        [message, container.tagName].filter(Boolean).join('\n\n'),
      );
      error.name = 'TestingLibraryElementError';
      return error;
    },
  });
});

to prevent prettyDOM from being called and this seems to be working now with the newer versions of testing-library/cypress

from cypress-testing-library.

jessezhang91 avatar jessezhang91 commented on June 8, 2024 4

we just ran into the same issue using cypress 11.2.0 and testing-library/cypress 8.0.7. reverting it back to 7.0.7 per above suggestions seems to have worked as well. the cy.findByRole and cy.findAllByText commands were both hanging up the browser

strangely we've been on 8.0.7 since november and we only just started seeing this issue a day ago with no other changes that we can find.

from cypress-testing-library.

jordwest avatar jordwest commented on June 8, 2024 3

Same problem, same fix, also suddenly started for us on 27/28 April. One thing I noticed is it seemed to freeze up whenever performing XHR requests.

We also hadn't upgraded any packages in our bundle, other than loading the latest Google Maps API dynamically via a script tag. Pinning the version to a couple releases ago fixed the error for a few tests involving maps requests.

from cypress-testing-library.

mateustalles avatar mateustalles commented on June 8, 2024 3

Same thing here ("@testing-library/cypress": "^9.0.0", cypress: 12.5.0) but only triggers in the CI, probably because the CI is quicker and the command runs while the elements are not loaded yet.

Similar here. We use cypress 12.5.1 and @testing-library/cypress 9.0.0. Everything worked fine until yesterday when the test hung on cy.findAllByTestId and failed after the timeout. The issue happened only CI. Overwriting the element error message, as @jessezhang91 suggested, seems to fix it. We added that as a global cypress configuration to cypress/support/e2e.ts:

import { configure } from '@testing-library/cypress';

configure({
  getElementError(message, container) {
    const error = new Error(
      [message, container.tagName].filter(Boolean).join('\n\n'),
    );
    error.name = 'TestingLibraryElementError';
    return error;
  },
});

It looks like when the testing library error occurs, it breaks the retry-ability of the cypress and fails after the timeout. I wonder why it was working before and suddenly stopped working without any lib updates 🤔

i added this:

before(() => {
  cy.configureCypressTestingLibrary({
    getElementError(message, container) {
      const error = new Error(
        [message, container.tagName].filter(Boolean).join('\n\n'),
      );
      error.name = 'TestingLibraryElementError';
      return error;
    },
  });
});

to prevent prettyDOM from being called and this seems to be working now with the newer versions of testing-library/cypress

Thanks a lot for the workaround!! @jessezhang91

from cypress-testing-library.

robmosca avatar robmosca commented on June 8, 2024 2

Had the same problem. It suddenly appeared yesterday. We use Cypress 9.7.0, @testing-library/cypress 7.0.6 and @testing-library/dom 8.19.0.
Your solution @patrykkarny fixed it (as well as @jessezhang91 solution).

from cypress-testing-library.

Fanch- avatar Fanch- commented on June 8, 2024 1

Hello.

We experienced the same problem upgrading to cypress v10+ and updating every dependencies.

Downgrading to CTL 7.0.7 solved it.

It looks like the regression was introduced in v8.0.0

@testing-library/dom has been upgraded to v8 -> might be ?

from cypress-testing-library.

tgdevereux avatar tgdevereux commented on June 8, 2024

Hi, we also experienced this issue (it actually caused the tests to hang badly in our CI pipeline). The issue repro'd with versions v8.0.7 and v9 of testing-library/cypress (with Cypress 12.3.0 and 12.6.0)

Reverting to v7.0.7, as Fanch~ suggested above, resolved the issue, so it does look like it might be a bug introduced in v8.0.0

from cypress-testing-library.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.