-
-
Notifications
You must be signed in to change notification settings - Fork 8.6k
Description
Meta
OS
Windows 10, Ubuntu
Selenium Version
3.8.1, 3.12.0
Browser
Opera
Browser Version
Opera 53
Expected Behavior
Opera and OperaDriver should launch, given the requested capability is operablink
Actual Behavior
Chrome and Chromedriver launch as the fallback driver, and Chrome is instead used for the testing.
Steps to reproduce
Setup a Selenium node and hub with opera
and operablink
included as capabilities. The following example code is for a Windows node.
final String finalSeleniumHubUrl = <hub url>
OperaOptions operaOptions = new OperaOptions();
String operaBinaryPath = "C:\\Program Files\\Opera\\launcher.exe";
operaOptions.setBinary(operaBinaryPath);
driver = new RemoteWebDriver(finalSeleniumHubUrl, operaOptions);
Chrome launches on the node.
However, if we change the code to the following
final String finalSeleniumHubUrl = <hub url>
OperaOptions operaOptions = new OperaOptions();
operaOptions.setCapability(BROWSER_NAME, org.openqa.selenium.remote.BrowserType.OPERA);
// This string needs to be changed to the correct path of Opera per OS. This is for Windows
String operaBinaryPath = "C:\\Program Files\\Opera\\launcher.exe";
operaOptions.setBinary(operaBinaryPath);
driver = new RemoteWebDriver(finalSeleniumHubUrl, operaOptions);
Opera launches as intended.
My Proposed Solution
At https://github.com/SeleniumHQ/selenium/blob/master/java/server/src/org/openqa/selenium/remote/server/ActiveSessionFactory.java#L93, OPERA_BLINK
is assigned a non-existent driver service, which fails the following class exists test. If the driver service for OPERA_BLINK
is changed to be the same as the driver service for OPERA
, this issue should be resolved.