selenium-standalone icon indicating copy to clipboard operation
selenium-standalone copied to clipboard

[🐛 Bug]: <title>404 https://msedgedriver.azureedge.net/98.0.1108.51/edgedriver_win64.zip Response code 404 (Not Found)

Open misjorge opened this issue 3 years ago • 15 comments
trafficstars

Have you read the Contributing Guidelines on issues?

WebdriverIO Version

7.6.0

Node.js Version

13.8.0

Mode

Standalone Mode

Which capabilities are you using?

{
      maxInstances: 1,

      browserName: "chrome",
      "goog:chromeOptions": {
        args: ["--disable-gpu"],
        // args: ["--headless", "--disable-gpu"]
      }

What happened?

Immediately after started running the test, the following error appeared:

022-02-13T08:56:39.605Z INFO @wdio/cli:launcher: Run onPrepare hook Start launch 30dxt8aokzl1a01q Error in "getDownloadStream". Could not download https://msedgedriver.azureedge.net/98.0.1108.51/edgedriver_win64.zip See more details below: 404 https://msedgedriver.azureedge.net/98.0.1108.51/edgedriver_win64.zip Response code 404 (Not Found)

Ended WebDriver sessions gracefully after a SIGINT signal was received!

What is your expected behavior?

Test should run as before

How to reproduce the bug.

just install the following, and run the test:

"devDependencies": { "@types/node": "15.6.0", "@wdio/cli": "7.6.0", "@wdio/cucumber-framework": "7.6.0", "@wdio/devtools-service": "7.6.0", "@wdio/local-runner": "7.6.0", "@wdio/selenium-standalone-service": "7.10.1", "@wdio/spec-reporter": "7.6.0", "@wdio/sync": "7.6.0", "chai": "*", "husky": "^4.2.3", "lint-staged": "^10.1.1", "prettier": "^2.0.2", "tslint": "^6.1.0", "tslint-config-prettier": "^1.18.0", "typescript": "4.2.4", "wdio-reportportal-reporter": "6.4.1", "wdio-reportportal-service": "6.4.1" }, "dependencies": { "@types/chai": "4.2.18", "commander": "5.0.0", "moment": "^2.24.0", "request-promise": "^4.2.6", "ts-node": "^9.1.1", "tsconfig-paths": "^3.9.0", "winston": "^3.2.1" },

Relevant log output

2022-02-13T08:56:39.605Z INFO @wdio/cli:launcher: Run onPrepare hook
Start launch 30dxt8aokzl1a01q
Error in "getDownloadStream". Could not download https://msedgedriver.azureedge.net/98.0.1108.51/edgedriver_win64.zip
See more details below:
404 https://msedgedriver.azureedge.net/98.0.1108.51/edgedriver_win64.zip
Response code 404 (Not Found)


Ended WebDriver sessions gracefully after a SIGINT signal was received!

Code of Conduct

  • [X] I agree to follow this project's Code of Conduct

Is there an existing issue for this?

  • [X] I have searched the existing issues

misjorge avatar Feb 13 '22 09:02 misjorge

it seems that, https://msedgedriver.azureedge.net/98.0.1108.51/edgedriver_win64.zip does not exist anymore on https://msedgedriver.azureedge.net/, but this one, https://msedgedriver.azureedge.net/98.0.1108.50/edgedriver_win64.zip, does

98.0.1108.51 - not exist 98.0.1108.50 - exist

misjorge avatar Feb 13 '22 09:02 misjorge

Any temporary solution to this issue?

Avinash9969 avatar Feb 14 '22 08:02 Avinash9969

Thanks for reporting!

Please use 98.0.1108.50 then as version by defining it in the correct installArgs. I would suggest two improvements here:

  • only download the driver that is requested by the capabilities (if you run Chrome, don't download an Edgedriver)
  • download latest "available" and not latest overall as it seems Edgedriver releases are not synced with others

Any contributions that resolves the bug are highly appreciated. Please take a look into our contribution guidelines and let us know if you have any questions. Cheers!

christian-bromann avatar Feb 14 '22 09:02 christian-bromann

@christian-bromann how can we restrict the selenium-standalone-service to download only the chrome and not edge? My Browser config does not have anything related to edge driver but it still says " Error in "chmod". See more details below: ENOENT: no such file or directory, chmod 'C:\My POCs\regression-test-suite\node_modules@wdio\selenium-standalone-service\node_modules\selenium-standalone.selenium\chromiumedgedriver\latest-x64-msedgedriver'"

I have modified the services field from wdio.conf.js and updated to below services: ['selenium-standalone', { drivers: { chrome: 'latest'} }],

earlier it was services: ['selenium-standalone']

Avinash9969 avatar Feb 14 '22 10:02 Avinash9969

I believe this is a limitation of the selenium-standalone package underneath. It automatically installs all drivers afaik. That is why I suggested to make it only download necessary drivers.

christian-bromann avatar Feb 14 '22 11:02 christian-bromann

@christian-bromann how can we restrict the selenium-standalone-service to download only the chrome and not edge? My Browser config does not have anything related to edge driver but it still says " Error in "chmod". See more details below: ENOENT: no such file or directory, chmod 'C:\My POCs\regression-test-suite\node_modules@wdio\selenium-standalone-service\node_modules\selenium-standalone.selenium\chromiumedgedriver\latest-x64-msedgedriver'"

I have modified the services field from wdio.conf.js and updated to below services: ['selenium-standalone', { drivers: { chrome: 'latest'} }],

earlier it was services: ['selenium-standalone']

I think, this is happening, after you try to run the test for the second time, since on the first time, it will try to download the edge driver, and an empty file will appear in the folder, and the second time will prompt for this error

misjorge avatar Feb 14 '22 13:02 misjorge

So sort of fix would be to download latest avaliable msedgedriver version that exist that is smaller then current chromedriver version. Still there should be parameter just to ignore msedgedriver at all. And it would fix 98% of problems.

senpl avatar Feb 15 '22 07:02 senpl

So sort of fix would be to download latest avaliable msedgedriver version that exist that is smaller then current chromedriver version. Still there should be parameter just to ignore msedgedriver at all. And it would fix 98% of problems.

can you please elaborate on the solution? what do you mean by msedgedriver version that is smaller than current chromedriver?

misjorge avatar Feb 15 '22 08:02 misjorge

there are msedgedrivers versions https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/#downloads so from some xml they could be found and if avaliable downloaded. Still this is important only for this who wants msedgedriver. 98% did not care about it, and just want chrome driver.

senpl avatar Feb 15 '22 08:02 senpl

there are msedgedrivers versions https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/#downloads so from some xml they could be found and if avaliable downloaded. Still this is important only for this who wants msedgedriver. 98% did not care about it, and just want chrome driver.

so what is the workarround for those that don't want the msedgedriver?

misjorge avatar Feb 15 '22 08:02 misjorge

I think I found a work around, until we fix the real problem:

services: [["selenium-standalone", { drivers: { chrome: 'latest', chromiumedge: '98.0.1108.50'} }]

misjorge avatar Feb 15 '22 08:02 misjorge

@misjorge I have implemented below work around and it works fine for me

"chromedriver": "^98.0.0", "wdio-chromedriver-service": "^7.2.8",

  1. Update serivices with 'chromedriver' in wdio.conf.js services: ['selenium-standalone'] with services: [['chromedriver']]

I ignored the standalone service and pointed chromedriver

Avinash9969 avatar Feb 15 '22 15:02 Avinash9969

@misjorge I have implemented below work around and it works fine for me

Could you create pull request with your working solution, or at least publish it in some sort?

senpl avatar Feb 16 '22 06:02 senpl

@misjorge I have implemented below work around and it works fine for me

Could you create pull request with your working solution, or at least publish it in some sort?

I dont know how to create pull request here @senpl

misjorge avatar Feb 16 '22 07:02 misjorge

I dont know how to create pull request here @senpl

  1. press fork from https://github.com/webdriverio/selenium-standalone (upper navigation)
  2. Make your changes in browser
  3. press on your for fork "Contribute" -> 'Open Pull Request'

senpl avatar Feb 16 '22 08:02 senpl

For edge chromium has been set version by default like 117.0.2045.55 in the pr https://github.com/webdriverio/selenium-standalone/pull/851 that contain all platform executable files

udarrr avatar Oct 13 '23 18:10 udarrr