Skip to content

Commit

Permalink
Allowinf to set an arbitrary platform capability even if it can't be …
Browse files Browse the repository at this point in the history
…converted to Platform enum. Non-standard platform values can cause matching issues on Grid, but they can be usable for third-party Grid implementations
  • Loading branch information
barancev committed Nov 5, 2014
1 parent 5d5df6e commit b0e0e34
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 4 deletions.
8 changes: 5 additions & 3 deletions .idea/codeStyleSettings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@

import org.openqa.selenium.Capabilities;
import org.openqa.selenium.Platform;
import org.openqa.selenium.WebDriverException;
import org.openqa.selenium.logging.LogLevelMapping;
import org.openqa.selenium.logging.LoggingPreferences;

Expand Down Expand Up @@ -165,7 +166,11 @@ public void setCapability(String capabilityName, boolean value) {

public void setCapability(String capabilityName, String value) {
if (PLATFORM.equals(capabilityName)) {
capabilities.put(capabilityName, Platform.fromString(value));
try {
capabilities.put(capabilityName, Platform.fromString(value));
} catch (WebDriverException ex) {
capabilities.put(capabilityName, value);
}
} else {
capabilities.put(capabilityName, value);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -104,4 +104,11 @@ public void shouldAutomaticallyConvertPlatformFromStringToEnum() {
assertEquals(caps.getCapability(CapabilityType.PLATFORM), Platform.WIN8_1);
}

@Test
public void shouldNotAutomaticallyConvertPlatformIfItNotConvertible() {
DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability(CapabilityType.PLATFORM, "FreeBSD");
assertEquals(caps.getCapability(CapabilityType.PLATFORM), "FreeBSD");
}

}

0 comments on commit b0e0e34

Please sign in to comment.