Skip to content

Commit ed0fe60

Browse files
authored
[java] Fix NPE regression in 4.8.0 (#11701)
1 parent c79cab5 commit ed0fe60

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

java/src/org/openqa/selenium/grid/node/config/SessionCapabilitiesMutator.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,9 @@ public Capabilities apply(Capabilities capabilities) {
5757
}
5858

5959
String browserName = capabilities.getBrowserName().toLowerCase();
60+
if (!BROWSER_OPTIONS.containsKey(browserName)) {
61+
return capabilities;
62+
}
6063
String options = BROWSER_OPTIONS.get(browserName);
6164
if (slotStereotype.asMap().containsKey(options) && capabilities.asMap().containsKey(options)) {
6265

java/test/org/openqa/selenium/grid/node/config/SessionCapabilitiesMutatorTest.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -289,4 +289,19 @@ void shouldMergeTopLevelStereotypeAndCaps() {
289289
assertThat(modifiedCapabilities.get("unhandledPromptBehavior")).isEqualTo("accept");
290290
assertThat(modifiedCapabilities.get("pageLoadStrategy")).isEqualTo("normal");
291291
}
292+
293+
@Test
294+
void shouldAllowUnknownBrowserNames() {
295+
stereotype = new ImmutableCapabilities(
296+
"browserName", "safari");
297+
298+
sessionCapabilitiesMutator = new SessionCapabilitiesMutator(stereotype);
299+
300+
capabilities = new ImmutableCapabilities(
301+
"browserName", "safari");
302+
303+
Map<String, Object> modifiedCapabilities = sessionCapabilitiesMutator.apply(capabilities).asMap();
304+
305+
assertThat(modifiedCapabilities.get("browserName")).isEqualTo("safari");
306+
}
292307
}

0 commit comments

Comments
 (0)