-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Protractor 5.4.2 lack of support for new chromedriver versions like 76.0.3809.68 #5289
Comments
Hi @lukaslewandowski-pearson , There is webdriver-manager version 12.1.6 which supports chrome 76. You can install through npm i webdriver-manager@12.1.6. It may resolve the issue. The new webdriver-manager will be released along with latest protractor version later Thanks! |
Hi @harsha509 , I will add that my tests are executing in parallel mode with directConnet: true and I am using async/await. |
I was able to fix it by adding this to my test project package.json
It reinstalls webdriver-manager used internally by protractor. |
directConnect: true uses drivers available in node_modules in current directory, @Morcatko thanks for the workaround. hope this both solution helps directConnect: false, and starting webdriver-manager start globally uses the selenium server started globally. |
WOW @Morcatko I own you a beer :) it works like a charm :) Thank you My final version: |
@Morcatko Thanks , it worked for me as well :) |
- Modified 'package.json' due to an open issue in Protractor with webdriver-manager and latest version of Chrome (angular/protractor#5289).
- Modified 'package.json' due to an open issue in Protractor with webdriver-manager and latest version of Chrome (angular/protractor#5289).
- Modified 'package.json' due to an open issue in Protractor with webdriver-manager and latest version of Chrome (angular/protractor#5289).
- Modified 'package.json' due to an open issue in Protractor with webdriver-manager and latest version of Chrome (angular/protractor#5289). Use the default Chrome version provided by Travis.
- Modified 'package.json' due to an open issue in Protractor with webdriver-manager and latest version of Chrome (angular/protractor#5289). Use the default Chrome version provided by Travis.
- Modified 'package.json' due to an open issue in Protractor with webdriver-manager and latest version of Chrome (angular/protractor#5289). - Revert changes and comment the e2e execution until the Travis' issue is not fixed.
Hi All, I tried all of the above suggestions with no luck yet. I have tried the below - 1. directConnect: true And then in my package.json added
I have tried this with and without adding explicit dependency
The below is the error message I see -
Same Dependency and
The Chrome is currently on version 76.0.3809.100 and the latest chromedriver downloaded seems to be chromedriver_76.0.3809.12 for webdriver@12.1.6. I specifically tried mentioning a different higher version as well in update command
The below was the error -
I am pretty much flabbergasted and out of options. Is there anything else we could try? |
Please try running webdriver-manager update with step 1 @krithi0503 |
Unfortunately still throws the error - |
Hi @krithi0503 , can you please provide your capabilities using to launch the chrome. Thanks |
@harsha509 : These are the code snippets corresponding to the capabilities in config -
Note : I have tried without parallel execution as well. |
Hi @krithi0503 , I have 2 updates for you.
navigate to project root/node_modules/.bin webdriver-manager clean and It should download chrome 76_drivers if you see any error -> 'Error message: Could not find update-config.json. Run 'webdriver-manager update' to download binaries.' you can do project_root\node_modules\protractor\node_modules\webdriver-manager\bin> node webdriver-manager update
Thanks! |
Thanks for this. With minor tweaks this solution worked. Modified to 'goog:chromrOptions' and added this in postInstall script - "postinstall": "cd ./node_modules/webdriver-manager && webdriver-manager clean && cd ../.. && npm i webdriver-manager@12.1.6 --no-save && webdriver-manager update --gecko=false && cd ./node_modules/gulp-protractor && npm i webdriver-manager@12.1.6 --no-save && webdriver-manager update --gecko=false", |
Using directConnect=false, we start a seleniumSession and pass the seleniumSessionId however as of 12.1.5 passing seleniumSessionId fails with the following error so not sure how we can connect using Chrome 76. ...\projects\client-ng\node_modules.bin\protractor C:\svt-web-client\projects\client-ng\protractor.e2e.atf.conf.js --seleniumSessionId=f2720b90bf7763c8ba87ecf155b33d31 --grep "C1980075_OMNI_69706_6"' |
Protractor uses its own version of webdriver manager, which is too old to support Chrome 76. * angular/webdriver-manager#404 * angular/protractor#5289 Its really not worth the effort implementing any of the suggested workarounds. For now, the e2e tests on Chrome will simply not be executed on Travis. Once Protractor 5 is updated with the latest webdriver manager version, we can turn them back on again.
…165) Protractor uses its own version of webdriver manager, which is too old to support Chrome 76. * angular/webdriver-manager#404 * angular/protractor#5289 Its really not worth the effort implementing any of the suggested workarounds. For now, the e2e tests on Chrome will simply not be executed on Travis. Once Protractor 5 is updated with the latest webdriver manager version, we can turn them back on again.
Try this - it worked for me: Using Direct Connect. Add this script to package.json: then: npm run postinstall |
I was getting the error before "Chrome version should be between 71 and 75" and now have updated the latest chrome driver and also added the above in package.json but now i started getting some circular reference error. This is the updated chrome driver Any idea/ help will be really appreciated |
Same issue here.
|
|
The solutions here seem to mostly require the webdriver-manager used by protractor being in a known location, which isn't great if you're providing a framework library to be consumed by others (who may use hoisting in a monorepo). I don't love it, but would (optionally) specifying the folder of webdriver-manager for protractor to use be an option? Then I can list webdriver-manager as a direct dependency of my project, point it at that, and not need to jump through the hoops of finding where the one protractor is going to use is installed |
I have exact same error as @brunonf15 but with Chrome 77 using webdriver-manager 77.0.3865.10, 77.0.3865.40 and 77.0.3865.75 in Angular 7 running tests with VS Code. |
I have a related problem running Protractor 5.4.2 with Chrome, IE or any other driver implementing w3c. The 'window/resize' command has been renamed 'window/rect' and webdriver 3.6 does not have the compatibility layer that webdriver 4+ has. and https://www.w3.org/TR/webdriver1/#set-window-rect I have had to work around the problem with the following hack: browser.driver.getExecutor().defineCommand('setWindowRect_W3C', 'POST', '/session/:sessionId/window/rect');
public static resize(width: number, height: number) {
// Determine if driver is w3c compliant or not
if ((<any>browser.driver).getExecutor().w3c) {
// We need to manually construct a command because webdriver 3.6.0
// does not construct a w3c compliant 'rect' command. This results
// in errors such as: unknown command: session/xxx/window/size
// for browsers that have deprecated the JSON wire protocol API
let resizeCommand = new Command('setWindowRect_W3C');
resizeCommand.setParameter('x', 0);
resizeCommand.setParameter('y', 0);
resizeCommand.setParameter('height', height);
resizeCommand.setParameter('width', width);
return browser.driver.schedule(resizeCommand, 'W3C-shim window rect: ' + height + ',' + width);
} else {
// If not w3c driver, use old JSON wire protocol API
return browser.driver.manage().window().setSize(width, height);
}
} |
fyi there is a similar issue here: #4728 |
Hi,
Bug report
Protractor 5.4.2 can't work with new Chrome versions like 76.0.3809.87
Feature Request
Add support for new chromedriver versions naming convention to Protractor 5.4.2 due to issues with Protractor 6
(My tests are executing in parallel mode with directConnet: true and I am using async/await.)
The text was updated successfully, but these errors were encountered: