From 9f650fd0da1d4614dea8472ed5d55b6f6b4f56c7 Mon Sep 17 00:00:00 2001 From: Diego Molina Date: Wed, 15 May 2024 06:50:41 -0700 Subject: [PATCH] [grid] Using MutableCapabilities to get rid of browserVersion And later returning them as PersistentCapabilities Also, restoring the null check in PersistentCapabilities.java Fixes #13937 --- java/src/org/openqa/selenium/PersistentCapabilities.java | 1 + .../grid/node/config/DriverServiceSessionFactory.java | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/java/src/org/openqa/selenium/PersistentCapabilities.java b/java/src/org/openqa/selenium/PersistentCapabilities.java index fc0dd14205ddc..d42e08229b6a5 100644 --- a/java/src/org/openqa/selenium/PersistentCapabilities.java +++ b/java/src/org/openqa/selenium/PersistentCapabilities.java @@ -50,6 +50,7 @@ private PersistentCapabilities(Capabilities previousValues, Capabilities newValu public PersistentCapabilities setCapability(String name, Object value) { Require.nonNull("Name", name); + Require.nonNull("Value", value); return new PersistentCapabilities(this, new ImmutableCapabilities(name, value)); } diff --git a/java/src/org/openqa/selenium/grid/node/config/DriverServiceSessionFactory.java b/java/src/org/openqa/selenium/grid/node/config/DriverServiceSessionFactory.java index 7a803437b9c4a..6702fe68dc647 100644 --- a/java/src/org/openqa/selenium/grid/node/config/DriverServiceSessionFactory.java +++ b/java/src/org/openqa/selenium/grid/node/config/DriverServiceSessionFactory.java @@ -326,9 +326,10 @@ private Capabilities setBrowserBinary(Capabilities options, String browserPath) Map vendorOptions = (Map) options.getCapability(vendorOptionsCapability); vendorOptions.put("binary", browserPath); - return new PersistentCapabilities(options) - .setCapability(vendorOptionsCapability, vendorOptions) - .setCapability("browserVersion", null); + MutableCapabilities toReturn = new MutableCapabilities(options); + toReturn.setCapability(vendorOptionsCapability, vendorOptions); + toReturn.setCapability("browserVersion", (String) null); + return new PersistentCapabilities(toReturn); } catch (Exception e) { LOG.log( Level.WARNING,