Skip to content

Commit dded957

Browse files
authored
[java] Add remotedriverbuilder tests
1 parent 3e2c016 commit dded957

2 files changed

Lines changed: 30 additions & 2 deletions

File tree

java/test/org/openqa/selenium/remote/FakeWebDriverInfo.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import org.openqa.selenium.SessionNotCreatedException;
1010
import org.openqa.selenium.WebDriver;
1111
import org.openqa.selenium.WebDriverInfo;
12+
import org.openqa.selenium.devtools.HasDevTools;
1213

1314
import java.util.Optional;
1415

@@ -32,7 +33,7 @@ public boolean isSupporting(Capabilities capabilities) {
3233

3334
@Override
3435
public boolean isSupportingCdp() {
35-
return false;
36+
return true;
3637
}
3738

3839
@Override
@@ -52,7 +53,7 @@ public Optional<WebDriver> createDriver(Capabilities capabilities)
5253
return Optional.of(new FakeWebDriver());
5354
}
5455

55-
private static class FakeWebDriver extends RemoteWebDriver {
56+
public static class FakeWebDriver extends RemoteWebDriver {
5657

5758
@Override
5859
protected void startSession(Capabilities capabilities) {

java/test/org/openqa/selenium/remote/RemoteWebDriverBuilderTest.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import org.openqa.selenium.ImmutableCapabilities;
2424
import org.openqa.selenium.Platform;
2525
import org.openqa.selenium.SessionNotCreatedException;
26+
import org.openqa.selenium.WebDriver;
2627
import org.openqa.selenium.chrome.ChromeOptions;
2728
import org.openqa.selenium.firefox.FirefoxOptions;
2829
import org.openqa.selenium.ie.InternetExplorerOptions;
@@ -351,10 +352,36 @@ public void commandsShouldBeSentWithW3CHeaders() {
351352

352353
@Test
353354
public void shouldUseWebDriverInfoToFindAMatchingDriverImplementationForRequestedCapabilitiesIfRemoteUrlNotSet() {
355+
WebDriver driver = RemoteWebDriver.builder()
356+
.oneOf(new ImmutableCapabilities("browser", "selenium-test"))
357+
.connectingWith(config -> req -> CANNED_SESSION_RESPONSE)
358+
.build();
359+
360+
assertThat(driver).isInstanceOf(FakeWebDriverInfo.FakeWebDriver.class);
354361
}
355362

356363
@Test
357364
public void shouldAugmentDriverIfPossible() {
365+
HttpResponse response = new HttpResponse()
366+
.setContent(Contents.asJson(ImmutableMap.of(
367+
"value", ImmutableMap.of(
368+
"sessionId", SESSION_ID,
369+
"capabilities", new ImmutableCapabilities("firefox", "caps")))));
370+
371+
Augmenter augmenter = new Augmenter().addDriverAugmentation("firefox",
372+
AugmenterTest.HasMagicNumbers.class,
373+
(c, exe) -> () -> 1);
374+
WebDriver driver = RemoteWebDriver.builder()
375+
.oneOf(new FirefoxOptions())
376+
.augmentUsing(augmenter)
377+
.address("http://localhost:34576")
378+
.connectingWith(config -> req -> response)
379+
.build();
380+
381+
int number = ((AugmenterTest.HasMagicNumbers)driver).getMagicNumber();
382+
383+
assertThat(driver).isInstanceOf(AugmenterTest.HasMagicNumbers.class);
384+
assertThat(number).isEqualTo(1);
358385
}
359386

360387
@SuppressWarnings("unchecked")

0 commit comments

Comments
 (0)