cypress: doc.createTreeWalker is not a function

Current behavior

When running a Cypress test via the Test Runner:

node ./cypress/cypress.js -- open

I’m seeing this error thrown from cypress:

cypress_runner.js:175886 TypeError: doc.createTreeWalker is not a function
    at findShadowRoots (https://localhost:8080/__cypress/runner/cypress_runner.js:166508:22)
    at collectRoots (https://localhost:8080/__cypress/runner/cypress_runner.js:166488:24)
    at Object.findAllShadowRoots (https://localhost:8080/__cypress/runner/cypress_runner.js:166498:10)
    at getElements (https://localhost:8080/__cypress/runner/cypress_runner.js:143851:45)
From previous event:
    at resolveElements (https://localhost:8080/__cypress/runner/cypress_runner.js:143905:27)
    at $Cy.get (https://localhost:8080/__cypress/runner/cypress_runner.js:143916:14)
    at $Cy.now (https://localhost:8080/__cypress/runner/cypress_runner.js:156327:47)
    at resolveElements (https://localhost:8080/__cypress/runner/cypress_runner.js:144084:19)
From previous event:
    at tryFn (https://localhost:8080/__cypress/runner/cypress_runner.js:151739:21)
    at whenStable (https://localhost:8080/__cypress/runner/cypress_runner.js:151777:12)
    at https://localhost:8080/__cypress/runner/cypress_runner.js:151269:16
From previous event:
    at $Cy.retry (https://localhost:8080/__cypress/runner/cypress_runner.js:151249:38)
    at onFailFn (https://localhost:8080/__cypress/runner/cypress_runner.js:135999:19)
From previous event:
    at $Cy.verifyUpcomingAssertions (https://localhost:8080/__cypress/runner/cypress_runner.js:136006:63)
    at https://localhost:8080/__cypress/runner/cypress_runner.js:144090:21
From previous event:
    at resolveElements (https://localhost:8080/__cypress/runner/cypress_runner.js:144084:52)
    at tryFn (https://localhost:8080/__cypress/runner/cypress_runner.js:151739:21)
    at whenStable (https://localhost:8080/__cypress/runner/cypress_runner.js:151777:12)
    at https://localhost:8080/__cypress/runner/cypress_runner.js:151269:16

Desired behavior

No error is thrown

Test code to reproduce

I can’t share the full source code due to my company’s policies. Maybe a simpler repro could be made once I have some idea of where this issue is coming from.

The line of code where this is failing is cy.findByRole('tabpanel', { hidden: false }).findByTestId('RichCommandFooter').contains('runtime');

Cypress Version

8.1.0

Other

Happy to provide more details. Our cypress.js file has a good amount going on it, but I’m not sure what would be most relevant to help debug.

@testing-library/cypress is on version 8.0.1

Screen Shot 2022-03-28 at 6 40 44 PM

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Reactions: 1
  • Comments: 20 (7 by maintainers)

Most upvoted comments

This looks suspiciously like another manifestation of the same underlaying bug as https://github.com/cypress-io/cypress/issues/7306. We’ve spent a lot of work looking into that for Cypress 12.0.0 - my hope is that this issue will be resolved in Cy12, which should come out next week.

Going to assign myself so I remember to follow up here after release.

Hi everyone, would just like to leave my two cents on this issue as I am also experiencing it. I have noticed in my tests that the createTreeWalker is not a function error occurs when the tests are trying to get an element that is currently being loaded in. Have seen two different instances where it has happened. Once when I’m performing a cy.get().contains() and another where my table hasn’t fully loaded in yet. My workaround was to change cy.get().contains() to cy.contains(selector, content) and to input a {timeout: 10000} Hope my solution is able to at least get your tests running until a proper fix could be applied

Thanks @laradiaz, unfortunately, I haven’t been able to recreate the issue. If anyone has a project I can look at and debug or if you are able to create the issue using the cypress-test-tiny project that would be great.

Hi Bill,

I’m adding 3 people from my QA team that can assist you.

Thanks, Steve

On Mon, Oct 24, 2022 at 5:11 PM Bill Glesias @.***> wrote:

Hi @steve-schreiner https://github.com/steve-schreiner. I am starting to take a look into this issue. I am trying to run @jesperancinha https://github.com/jesperancinha 's repository but I am having trouble getting it going this time (was able to start it before for a different issue). Are either of you able to help me provide a small reproduction to consistently reproduce the issue?

My guess is the includeShadowDom option is set to true, and when looking up the shadow root within cypress in the case stability may/may not be achieved, the root returns null and causes a createTreeWalker is not a function error. I could be wrong, but I can likely confirm this suspicion with a reproduction.

— Reply to this email directly, view it on GitHub https://github.com/cypress-io/cypress/issues/20813#issuecomment-1289622507, or unsubscribe https://github.com/notifications/unsubscribe-auth/AWQ2VXJIOOSZ4QWDJBFQBT3WE33QXANCNFSM5R4SF62Q . You are receiving this because you were mentioned.Message ID: @.***>