selenium-standalone
selenium-standalone copied to clipboard
[🐛 Bug]: <title>404 https://msedgedriver.azureedge.net/98.0.1108.51/edgedriver_win64.zip Response code 404 (Not Found)
Have you read the Contributing Guidelines on issues?
- [X] I have 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
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
Any temporary solution to this issue?
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 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 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 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
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.
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?
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.
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?
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 I have implemented below work around and it works fine for me
"chromedriver": "^98.0.0", "wdio-chromedriver-service": "^7.2.8",
- Update serivices with 'chromedriver' in wdio.conf.js services: ['selenium-standalone'] with services: [['chromedriver']]
I ignored the standalone service and pointed chromedriver
@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?
@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
I dont know how to create pull request here @senpl
- press fork from https://github.com/webdriverio/selenium-standalone (upper navigation)
- Make your changes in browser
- press on your for fork "Contribute" -> 'Open Pull Request'
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