Skip to content

Commit

Permalink
[java] Adding getPlatformName to follow W3C, getPlatform deprecated
Browse files Browse the repository at this point in the history
  • Loading branch information
diemol committed Sep 9, 2020
1 parent 419bce8 commit 3605a98
Show file tree
Hide file tree
Showing 7 changed files with 22 additions and 15 deletions.
7 changes: 7 additions & 0 deletions java/client/src/org/openqa/selenium/Capabilities.java
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,14 @@ default String getBrowserName() {
return String.valueOf(Optional.ofNullable(getCapability("browserName")).orElse(""));
}

/**
* @deprecated Use {@link #getPlatformName()}
*/
default Platform getPlatform() {
return getPlatformName();
}

default Platform getPlatformName() {
return Stream.of("platform", "platformName")
.map(this::getCapability)
.filter(Objects::nonNull)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ public void shouldCorrectlyExtractPlatformNameFromOssCapabilities() {
"desiredCapabilities", singletonMap(
"platform", "linux")));

assertEquals(Platform.LINUX, capabilities.get(0).getPlatform());
assertEquals(Platform.LINUX, capabilities.get(0).getPlatformName());
assertEquals(Platform.LINUX, capabilities.get(0).getCapability("platform"));
assertNull(capabilities.get(0).getCapability("platformName"));
}
Expand All @@ -174,7 +174,7 @@ public void shouldCorrectlyExtractPlatformFromW3cCapabilities() {
"alwaysMatch", singletonMap(
"platformName", "linux"))));

assertEquals(Platform.LINUX, capabilities.get(0).getPlatform());
assertEquals(Platform.LINUX, capabilities.get(0).getPlatformName());
assertNull(capabilities.get(0).getCapability("platform"));
assertEquals("linux", capabilities.get(0).getCapability("platformName"));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ public void canHandlePlatformNameCapability() throws IOException {

RemoteWebDriver driver = new RemoteWebDriver(executor, capabilities);

assertThat(driver.getCapabilities().getPlatform().is(Platform.MOJAVE)).isTrue();
assertThat(driver.getCapabilities().getPlatformName().is(Platform.MOJAVE)).isTrue();
}

@Test
Expand All @@ -124,7 +124,7 @@ public void canHandlePlatformOSSCapability() throws IOException {

RemoteWebDriver driver = new RemoteWebDriver(executor, capabilities);

assertThat(driver.getCapabilities().getPlatform().is(Platform.MOJAVE)).isTrue();
assertThat(driver.getCapabilities().getPlatformName().is(Platform.MOJAVE)).isTrue();
}

@Test
Expand All @@ -135,7 +135,7 @@ public void canHandleUnknownPlatformNameAndFallsBackToUnix() throws IOException

RemoteWebDriver driver = new RemoteWebDriver(executor, capabilities);

assertThat(driver.getCapabilities().getPlatform().is(Platform.UNIX)).isTrue(); // fallback
assertThat(driver.getCapabilities().getPlatformName().is(Platform.UNIX)).isTrue(); // fallback
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ public static Platform getEffectivePlatform(WebDriver driver) {
}

Capabilities caps = ((HasCapabilities) driver).getCapabilities();
return caps.getPlatform();
return caps.getPlatformName();
}

public static boolean isLocal() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
* <li>{@link Capabilities#getBrowserName() browser name},
* <li>{@link Capabilities#getBrowserVersion()} () browser version},
* <li>{@link Capabilities#is(String)} whether JavaScript is enabled},
* <li>and {@link Capabilities#getPlatform() platform}
* <li>and {@link Capabilities#getPlatformName() platform name}
* </ol>
* For all comparisons, if the capability is missing, that particular criteria shall not factor
* into the comparison.
Expand Down Expand Up @@ -69,25 +69,25 @@ public CapabilitiesComparator(final Capabilities desiredCapabilities,
Comparator<Capabilities> byJavaScript =
Comparator.comparingInt(c -> jsScorer.score(c.is(SUPPORTS_JAVASCRIPT)));

Platform desiredPlatform = desiredCapabilities.getPlatform();
Platform desiredPlatform = desiredCapabilities.getPlatformName();
if (desiredPlatform == null) {
desiredPlatform = Platform.ANY;
}

final CapabilityScorer<Platform> currentPlatformScorer =
new CurrentPlatformScorer(currentPlatform, desiredPlatform);
Comparator<Capabilities> byCurrentPlatform =
Comparator.comparingInt(c -> currentPlatformScorer.score(c.getPlatform()));
Comparator.comparingInt(c -> currentPlatformScorer.score(c.getPlatformName()));

final CapabilityScorer<Platform> strictPlatformScorer =
new CapabilityScorer<>(desiredPlatform);
Comparator<Capabilities> byStrictPlatform =
Comparator.comparingInt(c -> strictPlatformScorer.score(c.getPlatform()));
Comparator.comparingInt(c -> strictPlatformScorer.score(c.getPlatformName()));

final CapabilityScorer<Platform> fuzzyPlatformScorer =
new FuzzyPlatformScorer(desiredPlatform);
Comparator<Capabilities> byFuzzyPlatform =
Comparator.comparingInt(c -> fuzzyPlatformScorer.score(c.getPlatform()));
Comparator.comparingInt(c -> fuzzyPlatformScorer.score(c.getPlatformName()));

compareWith = Ordering.compound(Arrays.asList(
byBrowserName,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -137,8 +137,8 @@ private void registerDriverProvider(Platform current, DriverProvider provider) {
}

private boolean platformMatches(Platform current, Capabilities caps) {
return caps.getPlatform() == null
|| caps.getPlatform() == ANY
|| current.is(caps.getPlatform());
return caps.getPlatformName() == null
|| caps.getPlatformName() == ANY
|| current.is(caps.getPlatformName());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ public EventFiringWebDriver call() {
Capabilities actualCapabilities = capabilities;
if (rawDriver instanceof HasCapabilities) {
actualCapabilities = ((HasCapabilities) rawDriver).getCapabilities();
isAndroid = actualCapabilities.getPlatform().is(Platform.ANDROID);
isAndroid = actualCapabilities.getPlatformName().is(Platform.ANDROID);
}
describedCapabilities = getDescription(rawDriver, actualCapabilities);
if (rawDriver instanceof RemoteWebDriver) {
Expand Down

0 comments on commit 3605a98

Please sign in to comment.