From 31fe6a3fef9a67d41fef5f696d3debbf09579588 Mon Sep 17 00:00:00 2001 From: Alex Date: Mon, 1 Jul 2024 20:00:57 +0700 Subject: [PATCH 1/5] added androidOptions in merge method --- .../openqa/selenium/chromium/ChromiumOptions.java | 4 ++++ .../openqa/selenium/chrome/ChromeOptionsTest.java | 15 +++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/java/src/org/openqa/selenium/chromium/ChromiumOptions.java b/java/src/org/openqa/selenium/chromium/ChromiumOptions.java index 2af0a72c93bf8..add224b3d082e 100644 --- a/java/src/org/openqa/selenium/chromium/ChromiumOptions.java +++ b/java/src/org/openqa/selenium/chromium/ChromiumOptions.java @@ -337,6 +337,10 @@ protected void mergeInPlace(Capabilities capabilities) { setBinary(options.binary); } options.experimentalOptions.forEach(this::setExperimentalOption); + + if (options.androidOptions != null) { + options.androidOptions.forEach(this::setAndroidCapability); + } } } diff --git a/java/test/org/openqa/selenium/chrome/ChromeOptionsTest.java b/java/test/org/openqa/selenium/chrome/ChromeOptionsTest.java index aa19e2bdbb0c2..5c4e8be5f20ea 100644 --- a/java/test/org/openqa/selenium/chrome/ChromeOptionsTest.java +++ b/java/test/org/openqa/selenium/chrome/ChromeOptionsTest.java @@ -382,4 +382,19 @@ void shouldBeAbleToSetAnAndroidOption() { .extractingByKey("androidActivity") .isEqualTo("com.cheese.nom"); } + + @Test + void shouldBeAbleToMergeAnAndroidOption(){ + var original = new ChromeOptions(); + original.setAndroidActivity("co_activity"); + original.setAndroidPackage("co_package"); + original.setExperimentalOption("experimental", "co_experimental"); + original.addArguments("--co_argument"); + + var caps = new MutableCapabilities(); + var merged = original.merge(caps); + + assert original.asMap().equals(merged.asMap()); + + } } From 4b61350588f6286c93658e66af36a0dd14e44a9f Mon Sep 17 00:00:00 2001 From: Alex Date: Mon, 1 Jul 2024 20:18:34 +0700 Subject: [PATCH 2/5] applied suggestions --- .../org/openqa/selenium/chromium/ChromiumOptions.java | 11 +++++------ .../org/openqa/selenium/chrome/ChromeOptionsTest.java | 2 +- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/java/src/org/openqa/selenium/chromium/ChromiumOptions.java b/java/src/org/openqa/selenium/chromium/ChromiumOptions.java index add224b3d082e..5debc41537ad3 100644 --- a/java/src/org/openqa/selenium/chromium/ChromiumOptions.java +++ b/java/src/org/openqa/selenium/chromium/ChromiumOptions.java @@ -333,14 +333,13 @@ protected void mergeInPlace(Capabilities capabilities) { } addExtensions(options.extensionFiles); addEncodedExtensions(options.extensions); - if (options.binary != null) { - setBinary(options.binary); - } + + Optional.ofNullable(options.binary).ifPresent(this::setBinary); + options.experimentalOptions.forEach(this::setExperimentalOption); - if (options.androidOptions != null) { - options.androidOptions.forEach(this::setAndroidCapability); - } + Optional.ofNullable(options.androidOptions).ifPresent(opts -> opts.forEach(this::setAndroidCapability)); + } } diff --git a/java/test/org/openqa/selenium/chrome/ChromeOptionsTest.java b/java/test/org/openqa/selenium/chrome/ChromeOptionsTest.java index 5c4e8be5f20ea..2d91c95ed971b 100644 --- a/java/test/org/openqa/selenium/chrome/ChromeOptionsTest.java +++ b/java/test/org/openqa/selenium/chrome/ChromeOptionsTest.java @@ -394,7 +394,7 @@ void shouldBeAbleToMergeAnAndroidOption(){ var caps = new MutableCapabilities(); var merged = original.merge(caps); - assert original.asMap().equals(merged.asMap()); + assertEquals(original.asMap(), merged.asMap()); } } From 8ae61f3ccdf740be9699aa0f23c21124929c780f Mon Sep 17 00:00:00 2001 From: Alex Date: Mon, 1 Jul 2024 20:26:24 +0700 Subject: [PATCH 3/5] applying format.sh --- java/src/org/openqa/selenium/chromium/ChromiumOptions.java | 4 ++-- java/test/org/openqa/selenium/chrome/ChromeOptionsTest.java | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/java/src/org/openqa/selenium/chromium/ChromiumOptions.java b/java/src/org/openqa/selenium/chromium/ChromiumOptions.java index 5debc41537ad3..e7ace62decf80 100644 --- a/java/src/org/openqa/selenium/chromium/ChromiumOptions.java +++ b/java/src/org/openqa/selenium/chromium/ChromiumOptions.java @@ -338,8 +338,8 @@ protected void mergeInPlace(Capabilities capabilities) { options.experimentalOptions.forEach(this::setExperimentalOption); - Optional.ofNullable(options.androidOptions).ifPresent(opts -> opts.forEach(this::setAndroidCapability)); - + Optional.ofNullable(options.androidOptions) + .ifPresent(opts -> opts.forEach(this::setAndroidCapability)); } } diff --git a/java/test/org/openqa/selenium/chrome/ChromeOptionsTest.java b/java/test/org/openqa/selenium/chrome/ChromeOptionsTest.java index 2d91c95ed971b..d00d13d6587fa 100644 --- a/java/test/org/openqa/selenium/chrome/ChromeOptionsTest.java +++ b/java/test/org/openqa/selenium/chrome/ChromeOptionsTest.java @@ -384,7 +384,7 @@ void shouldBeAbleToSetAnAndroidOption() { } @Test - void shouldBeAbleToMergeAnAndroidOption(){ + void shouldBeAbleToMergeAnAndroidOption() { var original = new ChromeOptions(); original.setAndroidActivity("co_activity"); original.setAndroidPackage("co_package"); @@ -395,6 +395,5 @@ void shouldBeAbleToMergeAnAndroidOption(){ var merged = original.merge(caps); assertEquals(original.asMap(), merged.asMap()); - } } From 9f9e464ad0be6e1bae9d30747b7ad8e32fbaa803 Mon Sep 17 00:00:00 2001 From: Alex Date: Mon, 1 Jul 2024 22:09:48 +0700 Subject: [PATCH 4/5] import assertEquals --- java/test/org/openqa/selenium/chrome/ChromeOptionsTest.java | 1 + 1 file changed, 1 insertion(+) diff --git a/java/test/org/openqa/selenium/chrome/ChromeOptionsTest.java b/java/test/org/openqa/selenium/chrome/ChromeOptionsTest.java index d00d13d6587fa..7cbece6b253eb 100644 --- a/java/test/org/openqa/selenium/chrome/ChromeOptionsTest.java +++ b/java/test/org/openqa/selenium/chrome/ChromeOptionsTest.java @@ -23,6 +23,7 @@ import static org.assertj.core.api.InstanceOfAssertFactories.LIST; import static org.assertj.core.api.InstanceOfAssertFactories.MAP; import static org.assertj.core.api.InstanceOfAssertFactories.STRING; +import static org.junit.jupiter.api.Assertions.assertEquals; import static org.openqa.selenium.chromium.ChromiumDriverLogLevel.OFF; import static org.openqa.selenium.chromium.ChromiumDriverLogLevel.SEVERE; import static org.openqa.selenium.remote.CapabilityType.ACCEPT_INSECURE_CERTS; From 1c2626757602f76bc2a07c3ccbe28f30e5c001ab Mon Sep 17 00:00:00 2001 From: Alex Date: Sat, 13 Jul 2024 03:28:54 +0700 Subject: [PATCH 5/5] fix for importi Optional --- .../org/openqa/selenium/chromium/ChromiumOptions.java | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/java/src/org/openqa/selenium/chromium/ChromiumOptions.java b/java/src/org/openqa/selenium/chromium/ChromiumOptions.java index 41b5849f51f72..b23ce29d2a567 100644 --- a/java/src/org/openqa/selenium/chromium/ChromiumOptions.java +++ b/java/src/org/openqa/selenium/chromium/ChromiumOptions.java @@ -24,15 +24,7 @@ import java.io.File; import java.io.IOException; import java.nio.file.Files; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Base64; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.TreeMap; +import java.util.*; import java.util.stream.Stream; import org.openqa.selenium.Capabilities; import org.openqa.selenium.SessionNotCreatedException;