Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Protractor against webdriver-manager This version of ChromeDriver only supports Chrome version 74 Error #351

Closed
ghost opened this issue Mar 25, 2019 · 11 comments

Comments

@ghost
Copy link

ghost commented Mar 25, 2019

Summary: Run Latest Protractor against latest webdriver-manager, looks for Chrome Browser 74, which does not yet exist. Errors below. Please advise of workaround or when fix is forthcoming. (See inter alia: bonigarcia/webdrivermanager#318)
Run webdriver-manager v13.0.0 node v10.15.0 Windows 7 Update 1

PATH\Protractor\node_modules\protractor\node_modules\webdriver-manager\bin>node webdriver-manager start

C:\Program Files (x86)\Java\jdk1.8.0_172\bin\java.exe -Dwebdriver.chrome.driver=PATH\Protractor\node_modules\protractor\node_modules\webdriver-manager\downloads\chromedriver_74.0.3729.6.exe -Dwebdriver.gecko.driver=PATH\Protractor\node_modules\protractor\node_modules\webdriver-manager\downloads\geckodriver_0.24.0.exe -jar

PATH\Protractor\node_modules\protractor\node_modules\webdriver-manager\downloads\selenium-server-standalone-3.141.59.jar -port 4444
selenium process id: 12060
15:55:48.473 INFO [GridLauncherV3.parse] - Selenium server version: 3.141.59, revision: e82be7d358
15:55:48.520 INFO [GridLauncherV3.lambda$buildLaunchers$3] - Launching a standalone Selenium Server on port 4444
2019-03-25 15:55:48.553:INFO::main: Logging initialized @288ms to org.seleniumhq.jetty9.util.log.StdErrLog
15:55:48.739 INFO [WebDriverServlet.] - Initialising WebDriverServlet
15:55:48.963 INFO [SeleniumServer.boot] - Selenium Server is up and running on port 4444

Run Protractor 6.9.0

PATH\Source\Workspaces\Test_Automation\PNL_Tests\NewPNLGridTests> node PATH\Protractor\node_modules\protractor\bin\protractor conf.js
[16:00:28] W/driverProviders - Using driver provider directConnect, but also found extra driver provider parameter(s): seleniumAddress
[16:00:28] I/direct - Using ChromeDriver directly...

DevTools listening on ws://127.0.0.1:33657/devtools/browser/473fad9e-b641-4509-b265-ff1c7d57d9d9
[0325/160030.761:ERROR:broker_win.cc(55)] Error reading broker pipe: Error (0x5) while retrieving error. (0x6D)
[0325/160030.762:ERROR:cmd_buffer_helper.cc(141)] ContextResult::kFatalFailure: CommandBufferHelper::AllocateRingBuffer() failed
[16:00:31] E/launcher - Error: SessionNotCreatedError: session not created: This version of ChromeDriver only supports Chrome version 74
(Driver info: chromedriver=74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57e9-refs/branch-heads/3729@{#29}),platform=Windows NT 6.1.7601 SP1 x86_64) at Object.checkLegacyResponse (PATH\Protractor\node_modules\protractor\node_modules\selenium-webdriver\lib\error.js:585:15) at parseHttpResponse (PATH\Protractor\node_modules\protractor\node_modules\selenium-webdriver\lib\http.js:533:13) at Executor.execute (PATH\Protractor\node_modules\protractor\node_modules\selenium-webdriver\lib\http.js:468:26) at process._tickCallback (internal/process/next_tick.js:68:7)

[16:00:31] E/launcher - Process exited with error code 100

Cheers, RW

@scooper91
Copy link

We are having the same issue.

For now, we are able to work around it by specifying the exact chrome version when updating the drivers:
webdriver-manager update --versions.chrome=73.0.3683.86
If you don't want to hardcode the chrome version you can do:
webdriver-manager update --versions.chrome=$(google-chrome --version | cut -d ' ' -f 3)
(Annoyingly, google-chrome --version doesn't just give the version number!)

@ghost
Copy link
Author

ghost commented Mar 26, 2019

@scooper91 Thx scoop! I shall document this as a solution to the versioning problem.

Cheers, RW
And the Crowe takes winge to the Roaky Wood

It seems that the combination below has introduced significant instability in the execution of Protractor.

--protractor v6.9.0
--webdriver-manager v13.0.0
--node v10.15.0
--windows 7 and/or 10
--Chrome 73.0.3683.86 (Official Build) (64-bit)
--chromedriver 73.0.3683.86

I now have: "Error while waiting for Protractor to sync with the page: "both angularJS testability and angular testability are undefined. This could be either because this is a non-angular page or because your test involves client-side navigation, which can interfere with Protractor's bootstrapping. See http://git.io/v4gXM for details"

This is a common and well-documented error, but not one that I have encountered with previously what was a rather robust Protractor.

I've tried dozens of solutions for this regarding timeouts and timing, but I believe that the timing is a red herring and some change made from previous versions causes even the simplest examples not to work, The issues is likely in Protractor now.

I shall now proceed to the Protractor issues page.

@cnishina
Copy link
Member

Great this looks like it has been resolved. The idea was (if passed the no params), webdriver-manager would download the latest assuming it worked with the browser you were using. This is working as intended but the Chrome version isn't out and the Chromedriver version is released. I have ideas on how we can fix this in the future but since this is working as designed, I am closing this issue.

@vsravuri
Copy link

vsravuri commented Mar 26, 2019

@cnishina

Appreciate if this can be fixed in future.

If you are using Chrome version 74, please download ChromeDriver 74.0.3729.6
If you are using Chrome version 73, please download ChromeDriver 73.0.3683.68
If you are using Chrome version 72, please download ChromeDriver 2.46 or ChromeDriver 72.0.3626.69

http://chromedriver.chromium.org/downloads

image

@ghost

This comment has been minimized.

@vsravuri
Copy link

Thanks @scooper91

I slightly modified your command and it works perfectly fine in Mac OS
webdriver-manager update --versions.chrome=$(/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --version | cut -d ' ' -f 3)

@edarioq
Copy link

edarioq commented Mar 28, 2019

@scooper91

I've tried dozens of solutions for this regarding timeouts and timing, but I believe that the timing is a red herring and some change made from previous versions causes even the simplest examples not to work, The issues is likely in Protractor now.

Getting the same errors, I've tried async and waitForAngularEnabled(false) but so far no luck.

@ghost

This comment has been minimized.

@edarioq
Copy link

edarioq commented Mar 28, 2019

For now I guess I'll stick to using protractor version 5.4.2, at least until the protractor team has better documentation on what changed and how to fix it.

EDIT - Will try your fixes, thanks @RoakyWood

@edarioq
Copy link

edarioq commented Mar 28, 2019

Thanks works. To clarify:

  1. The version of chrome it asks for doesn't work, you have to specify:
    webdriver-manager update --versions.chrome=73.0.3683.86

  2. You now have to use async, await in your tests, example:

describe('My App', () => {
    it('should have a title', async () => {
        await browser.get('http://localhost:8080/');
        expect(await browser.getTitle()).toEqual('Welcome!');
    });
});

With these changes it works again.

@ghost
Copy link
Author

ghost commented Mar 28, 2019

@edarioq E.Q.: Awesome!

The entire backstory is here: SeleniumHQ/selenium#2969

@angular angular locked as resolved and limited conversation to collaborators Mar 30, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants