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

[java] Use a capability to switch engines for Edge #8105

Merged
merged 3 commits into from
Mar 20, 2020

Conversation

bwalderman
Copy link
Contributor

Description

Based on the discussion in #7977 we've decided to use a new "ms:edgeChromium" boolean capability key for EdgeDriver which tells the driver service whether to launch Edge Legacy or Chromium. This change updates the EdgeOptions class to check this capability in addition to the webdriver.edge.edgehtml system property when deciding which service to launch. Calling code can override the system property using EdgeOptions.setChromium().

Also updated the DriverInfo for EdgeHTML and Chromium Edge to score based on this new capability.

Motivation and Context

Using a capability key allows EdgeOptions to work with a RemoteWebDriver. A client can now configure the EdgeOptions for either Legacy or Chromium, and the remote Selenium server can make use of the capability to launch the correct Edge driver service.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist

  • I have read the contributing document.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

@bwalderman
Copy link
Contributor Author

@shs96c, do you have time to take a look at this?

@fenchu
Copy link

fenchu commented Mar 17, 2020

What is the release plan for this, after msedgedriver>=80, ChromeOptions() have been deprecated, and we are forced to use EdgeOptions(), but for me using python with selenium 4.0.0.a3 (which is the latest) the bindings relates to legacy edge and driver just fails to start.

Copy link
Member

@shs96c shs96c left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Thank you! This will be pushed with alpha6.

@shs96c shs96c merged commit 506c497 into SeleniumHQ:master Mar 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants