Skip to content

Commit

Permalink
System Property DRIVER_USE_MARIONETTE if set in java or command line …
Browse files Browse the repository at this point in the history
…arg with server will ignore desired capabilities and force marionette when true or force legacy firefox driver when false. Default unset, listens to capabilities requested.
  • Loading branch information
lukeis committed Jul 29, 2016
1 parent 79d02a1 commit 37d3b6b
Showing 1 changed file with 14 additions and 1 deletion.
15 changes: 14 additions & 1 deletion java/client/src/org/openqa/selenium/firefox/FirefoxDriver.java
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,8 @@ public static final class SystemProperty {
public static final String DRIVER_XPI_PROPERTY = "webdriver.firefox.driver";

/**
* Boolean system property that instructs FirefoxDriver to use Marionette backend.
* Boolean system property that instructs FirefoxDriver to use Marionette backend,
* overrides any capabilities specified by the user
*/
public static final String DRIVER_USE_MARIONETTE = "webdriver.firefox.marionette";
}
Expand Down Expand Up @@ -284,10 +285,22 @@ public Timeouts setScriptTimeout(long time, TimeUnit unit) {
}

private static boolean isLegacy(Capabilities desiredCapabilities) {
Boolean forceMarionette = forceMarionetteFromSystemProperty();
if (forceMarionette != null) {
return !forceMarionette;
}
Object marionette = desiredCapabilities.getCapability(MARIONETTE);
return marionette instanceof Boolean && ! (Boolean) marionette;
}

private static Boolean forceMarionetteFromSystemProperty() {
String useMarionette = System.getProperty(SystemProperty.DRIVER_USE_MARIONETTE);
if (useMarionette == null) {
return null;
}
return Boolean.valueOf(useMarionette);
}

@Override
protected void startClient(Capabilities desiredCapabilities, Capabilities requiredCapabilities) {
if (isLegacy(desiredCapabilities)) {
Expand Down

0 comments on commit 37d3b6b

Please sign in to comment.