Skip to content

Make chromeOptions compatible with both JsonWire and W3C protocols#673

Merged
OndraM merged 3 commits into
php-webdriver:communityfrom
OndraM:feature/capabilities-compatibility
Nov 11, 2019
Merged

Make chromeOptions compatible with both JsonWire and W3C protocols#673
OndraM merged 3 commits into
php-webdriver:communityfrom
OndraM:feature/capabilities-compatibility

Conversation

@OndraM
Copy link
Copy Markdown
Collaborator

@OndraM OndraM commented Nov 11, 2019

This workaround resolves issue which emerged after #560 .

Newer Selenium servers reject chromeOptions key in capabilities, because it does not contain vendor prefix, what is required as per W3C protocol. However simply updating the prefix would break on the other hand older Chromedrivers - and we want to maintain BC with version 1 of this library.

Ref. #652 #551 #573 #469

But we can easily update only to 3.14.0 (latest version which includes HtmlUnit). However update to 3.14.159 should be done soon (but HtmlUnit needs to be sideloaded).
This avoids `Facebook\WebDriver\Exception\UnknownServerException: Illegal key values seen in w3c capabilities: [chromeOptions]` error with new Selenium server.

This conversion is necessary to maintain BC - simply renaming chromeOptions to goog:chromeOptions will break capabilities with Chromedriver <2.31.
@abidulrmdn
Copy link
Copy Markdown

abidulrmdn commented Nov 11, 2019

Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants