Skip to content

Test fails under Firefox GeckoDriver 0.31.0  #275

@olivier-martin-sf

Description

@olivier-martin-sf

Since Sauce Labs updated (10/04/22) the Firefox GeckoDriver to version 0.31.0 our tests are failing in CI in several projects that runs some integration tests against Firefox latest.

After some investigation, it turns out that the deprecated capability highlighted in the article, --remote-debugging-port, is being sent by the webdriverio package as you can see here which prevent the driver of being instantiated and hence the session of being created as the server refuses to initiate the session when receiving an invalid capability.

CI logs

06 10 2022 19:14:21.351:ERROR [SaucelabsLauncher]: Could not quit the Saucelabs selenium connection. Failure message:
06 10 2022 19:14:21.351:ERROR [SaucelabsLauncher]: TypeError: Cannot read property 'deleteSession' of null
    at SaucelabsLauncher.<anonymous> (/home/runner/work/***-js/***-js/node_modules/karma-sauce-launcher/dist/launcher/launcher.js:149:26)
    at Generator.next (<anonymous>)
    at /home/runner/work/***-js/***-js/node_modules/karma-sauce-launcher/dist/launcher/launcher.js:8:71
    at new Promise (<anonymous>)
    at __awaiter (/home/runner/work/***-js/***-js/node_modules/karma-sauce-launcher/dist/launcher/launcher.js:4:12)
    at SaucelabsLauncher.<anonymous> (/home/runner/work/***-js/***-js/node_modules/karma-sauce-launcher/dist/launcher/launcher.js:141:31)
    at SaucelabsLauncher.emit (events.js:400:28)
    at SaucelabsLauncher.emit (domain.js:475:12)
    at SaucelabsLauncher.emitAsync (/home/runner/work/***-js/***-js/node_modules/karma/lib/events.js:52:10)
    at SaucelabsLauncher.BaseLauncher.kill (/home/runner/work/***-js/***-js/node_modules/karma/lib/launchers/base.js

SauceLabs test logs

Request playload to the /session endpoint:

{
    "desiredCapabilities": {
    "firefox_profile": "SOME_LONG_ID",
    "browserName": "firefox",
    "moz:firefoxOptions": {
        "args": [
	    "-remote-debugging-port",
	    "33759"
        ]
    }
}

The server returns an HTTP 500 status code with the following cause:

message": "Argument --remote-debugging-port can't be set via capabilities

Proposal solution

To fix this issue, we should update the webdriverio dependency so that the deprecated capability isn't sent at all.

This has been fixed in webdriverio/webdriverio#8211 but I believe this has been shipped only since webdriverio@^7.19.5.

FYI @christian-bromann

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions