webdriverio / webdriverio/webdriverio

[🐛 Bug]: After latest Chrome update (v. 148) getting errors like webdriverio(middleware): element did not become interactable

Open
#15,257 9 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Bug 🐛 Needs Triaging ⏳
Dominant language
TypeScript
Stars
9.8k
Forks
2.7k
Avg merge
2d 13h
Merged PRs (30d)
69

Description

Have you read the Contributing Guidelines on issues?
WebdriverIO Version

9.19.1

Node.js Version

24.3.0

Mode

WDIO Testrunner

Which capabilities are you using?
{
   browserName: 'chrome',
   browserVersion: 'stable',
   goog:chromeOptions': {
args: [ 'start-maximized',
    '--disable-gpu',
    '--disable-dev-shm-usage',
    '--no-sandbox',
    '--lang=en-US',
    '--disable-notifications',
    '--disable-push-messaging',
    '--disable-background-networking',
    '--ignore-certificate-errors',
    '--disable-default-apps',
    '--disable-infobars',
    '--disable-extensions', '--window-size=1920,1080', '--headless=new', ],
'--disable-dev-shm-usage', 'safebrowsing.enabled': true,
    enableNetwork: true,
    enablePage: true
   }
}
What happened?

After upgrading Chrome version to latest official (148.0.7778.179) we started observing multiple failures, especially in our dropdown components but not only.

Failures would look like this:

 
webdriverio(middleware): element did not become interactable: Element <input _ngcontent-ng-c3077179777="" type="text" autocomplete="off" placeholder="Search..." tabindex="0" aria-label="filter list by keyword class="ng-untouched ng-pristine ng-valid" /> did not become interactable
    at FetchRequest._request (file:///home/jenkins/agent-node2/workspace/mco-wdio-automation-test_PR-1669/node_modules/webdriver/build/node.js:1951:19)
    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
    at async Element.wrapCommandFn (/home/jenkins/agent-node2/workspace/mco-wdio-automation-test_PR-1669/node_modules/@wdio/utils/build/index.js:978:23)
    at async Element.wrapCommandFn (/home/jenkins/agent-node2/workspace/mco-wdio-automation-test_PR-1669/node_modules/@wdio/utils/build/index.js:978:23)
    at async Element.elementErrorHandlerCallbackFn (/home/jenkins/agent-node2/workspace/mco-wdio-automation-test_PR-1669/node_modules/webdriverio/build/node.js:8458:24)
    at async Element.wrapCommandFn (/home/jenkins/agent-node2/workspace/mco-wdio-automation-test_PR-1669/node_modules/@wdio/utils/build/index.js:978:23)
    at async Element.wrapCommandFn (/home/jenkins/agent-node2/workspace/mco-wdio-automation-test_PR-1669/node_modules/@wdio/utils/build/index.js:978:23)
    at async Element.elementErrorHandlerCallbackFn (/home/jenkins/agent-node2/workspace/mco-wdio-automation-test_PR-1669/node_modules/webdriverio/build/node.js:8458:24)
    at async Element.wrapCommandFn (/home/jenkins/agent-node2/workspace/mco-wdio-automation-test_PR-1669/node_modules/@wdio/utils/build/index.js:978:23)
    at async Element.setValue (/home/jenkins/agent-node2/workspace/mco-wdio-automation-test_PR-1669/node_modules/webdriverio/build/node.js:7287:3)

The element that is failing is a searchable dropdown, where on click an input + dropdown appears. The screenshots from the failures display the dropdown is successfully opened and the input is focused, the selector is correct (it hasn't changed and is sometimes still working):

Image

Here's a code snippet of the place of the failure:

async setValue(formValue: string) {
await this.click(); //this is working
await this.search.waitForExist({ timeout: timeouts.wait2sec });
await this.search.waitForDisplayed();
await this.search.setValue(formValue);
}

So the 2 wait functions return with success but then when setValue is called - it fails.
}

This behavior is only reproducible on Jenkins running headless with multiple tests executing in parallel. Running a single test locally always works. If retried some test pass the second time but the failure rate is very high in a suite with 1281 tests the num of failures (including retries) is 175.

It happens in total of 3 components, all of them display a dropdown and the failure happens on the 1st attempt to interract with this dropdown - check a checkbox, set input value or select a

  • value.

    Here are the other 2 stack traces:

    For checkbox click on a dropdown failing to be clicked:

    webdriverio(middleware): element did not become interactable: Element

  • United States of America - USA
  • did not become interactable
    at FetchRequest._request (file:///home/jenkins/agent-node2/workspace/mco-wdio-automation-test_PR-1669@2/node_modules/webdriver/build/node.js:1951:19)
    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
    at async Element.wrapCommandFn (/home/jenkins/agent-node2/workspace/mco-wdio-automation-test_PR-1669@2/node_modules/@wdio/utils/build/index.js:978:23)
    at async Element.wrapCommandFn (/home/jenkins/agent-node2/workspace/mco-wdio-automation-test_PR-1669@2/node_modules/@wdio/utils/build/index.js:978:23)
    at async Element.elementErrorHandlerCallbackFn (/home/jenkins/agent-node2/workspace/mco-wdio-automation-test_PR-1669@2/node_modules/webdriverio/build/node.js:8458:24)
    at async Element.wrapCommandFn (/home/jenkins/agent-node2/workspace/mco-wdio-automation-test_PR-1669@2/node_modules/@wdio/utils/build/index.js:978:23)
    at async elementClick (/home/jenkins/agent-node2/workspace/mco-wdio-automation-test_PR-1669@2/node_modules/webdriverio/build/node.js:6412:12)
    at async Element.wrapCommandFn (/home/jenkins/agent-node2/workspace/mco-wdio-automation-test_PR-1669@2/node_modules/@wdio/utils/build/index.js:978:23)
    at async Element.elementErrorHandlerCallbackFn (/home/jenkins/agent-node2/workspace/mco-wdio-automation-test_PR-1669@2/node_modules/webdriverio/build/node.js:8458:24)
    at async Element.wrapCommandFn (/home/jenkins/agent-node2/workspace/mco-wdio-automation-test_PR-1669@2/node_modules/@wdio/utils/build/index.js:978:23)

    For a

  • element in a dropdown, failing to be clicked:

    webdriverio(middleware): element did not become interactable: Element

  • EUR - Euro
  • did not become interactable
    at FetchRequest._request (file:///home/jenkins/agent-node2/workspace/mco-wdio-automation-test_PR-1669/node_modules/webdriver/build/node.js:1951:19)
    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
    at async Element.wrapCommandFn (/home/jenkins/agent-node2/workspace/mco-wdio-automation-test_PR-1669/node_modules/@wdio/utils/build/index.js:978:23)
    at async Element.wrapCommandFn (/home/jenkins/agent-node2/workspace/mco-wdio-automation-test_PR-1669/node_modules/@wdio/utils/build/index.js:978:23)
    at async Element.elementErrorHandlerCallbackFn (/home/jenkins/agent-node2/workspace/mco-wdio-automation-test_PR-1669/node_modules/webdriverio/build/node.js:8458:24)
    at async Element.wrapCommandFn (/home/jenkins/agent-node2/workspace/mco-wdio-automation-test_PR-1669/node_modules/@wdio/utils/build/index.js:978:23)
    at async elementClick (/home/jenkins/agent-node2/workspace/mco-wdio-automation-test_PR-1669/node_modules/webdriverio/build/node.js:6412:12)
    at async Element.wrapCommandFn (/home/jenkins/agent-node2/workspace/mco-wdio-automation-test_PR-1669/node_modules/@wdio/utils/build/index.js:978:23)
    at async Element.elementErrorHandlerCallbackFn (/home/jenkins/agent-node2/workspace/mco-wdio-automation-test_PR-1669/node_modules/webdriverio/build/node.js:8458:24)
    at async Element.wrapCommandFn (/home/jenkins/agent-node2/workspace/mco-wdio-automation-test_PR-1669/node_modules/@wdio/utils/build/index.js:978:23)

    What is your expected behavior?

    Dropdowns to continue to work on newer versions of Chrome.

    How to reproduce the bug.

    I don't have an easy example on how to reproduce the bug. While I do understand this is a big obsticle, it will be great to get a feedback on the issue if there are ideas how it can be approached. For now my only option seems to be to reduce chrome version and hope the error goes away.

    Relevant log output
    webdriverio(middleware): element did not become interactable: Element <li _ngcontent-ng-c3038982989="" selecta11yitem="" role="option" tabindex="-1" id="mco-3a22f6c90-EUR---Euro">EUR - Euro</li> did not become interactable
        at FetchRequest._request (file:///home/jenkins/agent-node2/workspace/mco-wdio-automation-test_PR-1669/node_modules/webdriver/build/node.js:1951:19)
        at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
        at async Element.wrapCommandFn (/home/jenkins/agent-node2/workspace/mco-wdio-automation-test_PR-1669/node_modules/@wdio/utils/build/index.js:978:23)
        at async Element.wrapCommandFn (/home/jenkins/agent-node2/workspace/mco-wdio-automation-test_PR-1669/node_modules/@wdio/utils/build/index.js:978:23)
        at async Element.elementErrorHandlerCallbackFn (/home/jenkins/agent-node2/workspace/mco-wdio-automation-test_PR-1669/node_modules/webdriverio/build/node.js:8458:24)
        at async Element.wrapCommandFn (/home/jenkins/agent-node2/workspace/mco-wdio-automation-test_PR-1669/node_modules/@wdio/utils/build/index.js:978:23)
        at async elementClick (/home/jenkins/agent-node2/workspace/mco-wdio-automation-test_PR-1669/node_modules/webdriverio/build/node.js:6412:12)
        at async Element.wrapCommandFn (/home/jenkins/agent-node2/workspace/mco-wdio-automation-test_PR-1669/node_modules/@wdio/utils/build/index.js:978:23)
        at async Element.elementErrorHandlerCallbackFn (/home/jenkins/agent-node2/workspace/mco-wdio-automation-test_PR-1669/node_modules/webdriverio/build/node.js:8458:24)
        at async Element.wrapCommandFn (/home/jenkins/agent-node2/workspace/mco-wdio-automation-test_PR-1669/node_modules/@wdio/utils/build/index.js:978:23)
    
    Code of Conduct
    • I agree to follow this project's Code of Conduct
    Is there an existing issue for this?
    • I have searched the existing issues

    Contributor guide

    Open the contributing guide

    First steps

    1. Read the whole issue, then the project's contributing guide.
    2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
    3. Fork the repository and make your change on a branch.
    4. Open a pull request that references the issue number.

    Research direction

    Start by reproducing the searchable-dropdown interactions in the provided WDIO test setup with Chrome 148, headless Jenkins execution, and parallel tests. Compare the failures from setValue and dropdown-item or checkbox clicks with the successful local single-test runs; done means these dropdown interactions work reliably on newer Chrome.

    Written by the indexing model from the issue text.

    Assessment

    Tech stack
    node.js, typescript
    Domain
    ci-cd, testing-qa
    Issue type
    Bug
    Difficulty
    4/5
    Estimated time
    3-5 days
    Activity status
    Quiet
    Clarity
    Needs clarification
    Newbie friendliness
    35/100

    Get new issues in your inbox

    A short digest of beginner-friendly GitHub issues.