Skip to content

Commit 38b4acc

Browse files
committed
[java] Adding userWebView2 to Java
#11978
1 parent c127eb2 commit 38b4acc

4 files changed

Lines changed: 22 additions & 5 deletions

File tree

java/src/org/openqa/selenium/edge/EdgeDriverInfo.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
// under the License.
1717
package org.openqa.selenium.edge;
1818

19+
import static org.openqa.selenium.edge.EdgeOptions.WEBVIEW2_BROWSER_NAME;
1920
import static org.openqa.selenium.remote.Browser.EDGE;
2021

2122
import com.google.auto.service.AutoService;
@@ -60,7 +61,7 @@ public Capabilities getCanonicalCapabilities() {
6061
public boolean isSupporting(Capabilities capabilities) {
6162
// webview2 - support https://docs.microsoft.com/en-us/microsoft-edge/webview2/how-to/webdriver
6263
return EDGE.is(capabilities.getBrowserName())
63-
|| "webview2".equalsIgnoreCase(capabilities.getBrowserName())
64+
|| WEBVIEW2_BROWSER_NAME.equalsIgnoreCase(capabilities.getBrowserName())
6465
|| capabilities.getCapability("ms:edgeOptions") != null;
6566
}
6667

java/src/org/openqa/selenium/edge/EdgeDriverService.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
import static java.util.Collections.unmodifiableList;
2121
import static java.util.Collections.unmodifiableMap;
22+
import static org.openqa.selenium.edge.EdgeOptions.WEBVIEW2_BROWSER_NAME;
2223
import static org.openqa.selenium.remote.Browser.EDGE;
2324

2425
import com.google.auto.service.AutoService;
@@ -164,7 +165,7 @@ public int score(Capabilities capabilities) {
164165

165166
// webview2 - support
166167
// https://docs.microsoft.com/en-us/microsoft-edge/webview2/how-to/webdriver
167-
if ("webview2".equalsIgnoreCase(capabilities.getBrowserName())) {
168+
if (WEBVIEW2_BROWSER_NAME.equalsIgnoreCase(capabilities.getBrowserName())) {
168169
score++;
169170
}
170171

java/src/org/openqa/selenium/edge/EdgeOptions.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,17 @@ public class EdgeOptions extends ChromiumOptions<EdgeOptions> {
4949

5050
public static final String LOGGING_PREFS = "ms:loggingPrefs";
5151

52+
public static final String WEBVIEW2_BROWSER_NAME = "webview2";
53+
5254
public EdgeOptions() {
5355
super(CapabilityType.BROWSER_NAME, EDGE.browserName(), CAPABILITY);
5456
}
5557

58+
public void useWebView(boolean webViewEnabled) {
59+
String browserName = webViewEnabled ? WEBVIEW2_BROWSER_NAME : EDGE.browserName();
60+
setCapability(CapabilityType.BROWSER_NAME, browserName);
61+
}
62+
5663
@Override
5764
public EdgeOptions merge(Capabilities extraCapabilities) {
5865
Require.nonNull("Capabilities to merge", extraCapabilities);

java/test/org/openqa/selenium/edge/EdgeOptionsTest.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import static org.assertj.core.api.InstanceOfAssertFactories.LIST;
2222
import static org.assertj.core.api.InstanceOfAssertFactories.MAP;
2323
import static org.assertj.core.api.InstanceOfAssertFactories.STRING;
24+
import static org.openqa.selenium.edge.EdgeOptions.WEBVIEW2_BROWSER_NAME;
2425
import static org.openqa.selenium.remote.Browser.EDGE;
2526
import static org.openqa.selenium.remote.CapabilityType.ACCEPT_INSECURE_CERTS;
2627

@@ -92,12 +93,9 @@ void canAddExtensions() throws IOException {
9293
@Test
9394
void canMergeWithoutChangingOriginalObject() {
9495
EdgeOptions options = new EdgeOptions();
95-
Map<String, Object> before = options.asMap();
9696
EdgeOptions merged =
9797
options.merge(
9898
new ImmutableCapabilities(CapabilityType.PAGE_LOAD_STRATEGY, PageLoadStrategy.NONE));
99-
// TODO: assertThat(merged).isNotSameAs(options);
100-
// TODO: assertThat(options.asMap()).isEqualTo(before);
10199
assertThat(merged.getCapability(CapabilityType.PAGE_LOAD_STRATEGY))
102100
.isEqualTo(PageLoadStrategy.NONE);
103101
}
@@ -265,4 +263,14 @@ void mergingOptionsMergesArguments() {
265263
.asInstanceOf(LIST)
266264
.containsExactly("verbose", "silent");
267265
}
266+
267+
@Test
268+
void usingWebView2ChangesBrowserName() {
269+
EdgeOptions options = new EdgeOptions();
270+
assertThat(options.getBrowserName()).isEqualTo(EDGE.browserName());
271+
options.useWebView(true);
272+
assertThat(options.getBrowserName()).isEqualTo(WEBVIEW2_BROWSER_NAME);
273+
options.useWebView(false);
274+
assertThat(options.getBrowserName()).isEqualTo(EDGE.browserName());
275+
}
268276
}

0 commit comments

Comments
 (0)