webdriverio: [πŸ› webdriverio cant connect to webdrivers for chrome and edge

Have you read the Contributing Guidelines on issues?

WebdriverIO Version

8.29.1 thru 8.29.7

Node.js Version

20.4.0

Mode

Standalone Mode

Which capabilities are you using?

capabilities: [
        {
            // Set maxInstances to 1 if screen recordings are enabled:
            maxInstances: 1,
            browserName: 'chrome',
            'goog:chromeOptions': {
                args: [
                    "--acceptInsecureCerts=true", 
                    "--ignore-ssl-errors",
                    "--window-size=1600,1400",
                    "--ignore-certificate-errors",
                    ]
            },
            'wdio:chromedriverOptions':  {
                binary: currentDirectory + "/webdrivers/" + binary,
                logLevel: "ALL",
                enableChromeLogs:true,
                logPath:"logs"
            } 
        }
    ]

What happened?

run yarn test:chrome the webdriver starts but there is a connect error when sending the session message to the driver. happens in chrome and edge

What is your expected behavior?

starts the webdriver and runs the test.

How to reproduce the bug.

to reproduce pull code from git@github.com:rpii/wdio-webdriver-test.git run directly yarn test:chrome or yarn test:edge.

Relevant log output

Starting ChromeDriver 121.0.6167.85 (3f98d690ad7e59242ef110144c757b2ac4eef1a2-refs/branch-heads/6167@{#1539}) on port 57026
Remote connections are allowed by an allowlist (0.0.0.0).
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.

2024-02-06T22:41:27.230Z INFO @wdio/local-runner: Run worker command: run
2024-02-06T22:41:27.334Z DEBUG @wdio/runner: init remote session
2024-02-06T22:41:27.340Z DEBUG @wdio/utils:shim: Finished to run "beforeSession" hook in 0ms
2024-02-06T22:41:27.471Z DEBUG @wdio/runner: init remote session
2024-02-06T22:41:27.471Z INFO webdriver: Initiate new session using the WebDriver protocol


error [ERR_STREAM_WRITE_AFTER_END]: write after end
[0-0]     at new NodeError (node:internal/errors:400:5)
[0-0]     at _write (node:internal/streams/writable:322:11)
[0-0]     at WriteStream.Writable.write (node:internal/streams/writable:337:10)
[0-0]     at Socket.ondata (node:internal/streams/readable:766:22)
[0-0]     at Socket.emit (node:events:513:28)
[0-0]     at Socket.emit (node:domain:489:12)
[0-0]     at addChunk (node:internal/streams/readable:324:12)
[0-0]     at readableAddChunk (node:internal/streams/readable:297:9)
[0-0]     at Socket.Readable.push (node:internal/streams/readable:234:10)
[0-0]     at Pipe.onStreamRead (node:internal/stream_base_commons:190:23) {
[0-0]   code: 'ERR_STREAM_WRITE_AFTER_END'
[0-0] }

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

About this issue

  • Original URL
  • State: open
  • Created 5 months ago
  • Comments: 15 (6 by maintainers)

Most upvoted comments

Further investigation with the edge driver shows that the two options enableChromeLogs:true, logPath:"logs"

prevent it from working as well.

So I walked through all of the options and found the bad ones:

    capabilities: [
        {
            // Set maxInstances to 1 if screen recordings are enabled:
            maxInstances: 1,
            browserName: 'chrome',
            'goog:chromeOptions': {
                args: [
                    "--ignore-ssl-errors",
                    "--window-size=1600,1200",
                    "--ignore-certificate-errors",
                    ]
            },
            'wdio:chromedriverOptions':  {
                binary: currentDirectory + "/webdrivers/" + binary,
                logLevel: "ALL",
                // enableChromeLogs:true,
                // logPath:"logs"
            } 
        }
    ]

logPath: β€œlogs” is poison. brings everything down. enableChromeLogs:true it causes an extra console window to appear with each browser load. sort of runs though.

so with the above config I can run.

No joy for edge. I can not get that to run. even the wdio cli project wont bring up a browser. I will look further at that.