Skip to content

Commit 758f676

Browse files
committed
No longer force marionette on the desired firefox capabilities
The DesiredCapabilities.firefox() always set the marionette capability to "true". This was needed during the transition from Se2 to Se3, but is distinctly unhelpful right now.
1 parent c3cd5d1 commit 758f676

File tree

4 files changed

+28
-9
lines changed

4 files changed

+28
-9
lines changed

java/client/src/org/openqa/selenium/firefox/FirefoxDriver.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
package org.openqa.selenium.firefox;
1919

20+
import static org.openqa.selenium.firefox.FirefoxDriver.SystemProperty.DRIVER_USE_MARIONETTE;
2021
import static org.openqa.selenium.firefox.FirefoxOptions.FIREFOX_OPTIONS;
2122
import static org.openqa.selenium.remote.CapabilityType.PROXY;
2223

@@ -273,6 +274,7 @@ private static FirefoxOptions getFirefoxOptions(Capabilities capabilities) {
273274
}
274275

275276
Object marionette = capabilities.getCapability(MARIONETTE);
277+
276278
if (marionette instanceof Boolean) {
277279
options.setLegacy(!(Boolean) marionette);
278280
}
@@ -339,7 +341,7 @@ private static boolean isLegacy(Capabilities desiredCapabilities) {
339341
}
340342

341343
private static Boolean forceMarionetteFromSystemProperty() {
342-
String useMarionette = System.getProperty(SystemProperty.DRIVER_USE_MARIONETTE);
344+
String useMarionette = System.getProperty(DRIVER_USE_MARIONETTE);
343345
if (useMarionette == null) {
344346
return null;
345347
}

java/client/src/org/openqa/selenium/firefox/FirefoxOptions.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -407,6 +407,11 @@ private FirefoxOptions validateAndAmendUsing(DesiredCapabilities existing, Capab
407407
}
408408
}
409409

410+
Object rawMarionette = existing.getCapability(MARIONETTE);
411+
if (rawMarionette instanceof Boolean) {
412+
setLegacy(!(Boolean) rawMarionette);
413+
}
414+
410415
return this;
411416
}
412417

java/client/src/org/openqa/selenium/remote/DesiredCapabilities.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -206,11 +206,7 @@ public static DesiredCapabilities chrome() {
206206
}
207207

208208
public static DesiredCapabilities firefox() {
209-
DesiredCapabilities
210-
caps = new DesiredCapabilities(BrowserType.FIREFOX, "", Platform.ANY);
211-
// Avoid a circular reference between the firefox driver and the remote driver
212-
caps.setCapability("marionette", true);
213-
return caps;
209+
return new DesiredCapabilities(BrowserType.FIREFOX, "", Platform.ANY);
214210
}
215211

216212
public static DesiredCapabilities htmlUnit() {
@@ -220,7 +216,7 @@ public static DesiredCapabilities htmlUnit() {
220216
public static DesiredCapabilities htmlUnitWithJs() {
221217
DesiredCapabilities capabilities = new DesiredCapabilities(BrowserType.HTMLUNIT,
222218
"", Platform.ANY);
223-
capabilities.setJavascriptEnabled(true);
219+
capabilities.setCapability(CapabilityType.SUPPORTS_JAVASCRIPT, true);
224220
return capabilities;
225221
}
226222

java/client/test/org/openqa/selenium/firefox/FirefoxOptionsTest.java

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,8 @@ public void binaryPathNeedNotExist() {
6161
}
6262

6363
@Test
64-
public void canSetBinaryThroughOptions() throws IOException {
64+
public void canSetBinaryThroughOptions() {
6565
FirefoxOptions options = new FirefoxOptions().setBinary("some/path");
66-
6766
Capabilities caps = options.addTo(new DesiredCapabilities());
6867

6968
assertEquals("some/path", caps.getCapability(FirefoxDriver.BINARY));
@@ -139,6 +138,23 @@ public void shouldPickUpLegacyValueFromSystemProperty() throws IOException {
139138
}
140139
}
141140

141+
@Test
142+
public void settingMarionetteToFalseAsASystemPropertyDoesNotPrecedence() {
143+
JreSystemProperty property = new JreSystemProperty(DRIVER_USE_MARIONETTE);
144+
String resetValue = property.get();
145+
146+
try {
147+
DesiredCapabilities caps = new DesiredCapabilities();
148+
caps.setCapability(FirefoxDriver.MARIONETTE, true);
149+
150+
property.set("false");
151+
FirefoxOptions options = new FirefoxOptions().addDesiredCapabilities(caps);
152+
assertFalse(options.isLegacy());
153+
} finally {
154+
property.set(resetValue);
155+
}
156+
}
157+
142158
@Test
143159
public void shouldPickUpProfileFromSystemProperty() throws IOException {
144160
FirefoxProfile defaultProfile = new ProfilesIni().getProfile("default");

0 commit comments

Comments
 (0)