Skip to content

Commit d9c0dd8

Browse files
committed
[grid] Consolidating getReportedUri logic in CdpEndpointFinder
This is work needed for #9327
1 parent 00b0b39 commit d9c0dd8

File tree

5 files changed

+18
-69
lines changed

5 files changed

+18
-69
lines changed

java/client/src/org/openqa/selenium/chromium/ChromiumDevToolsLocator.java

Lines changed: 0 additions & 60 deletions
This file was deleted.

java/client/src/org/openqa/selenium/chromium/ChromiumDriver.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
package org.openqa.selenium.chromium;
1919

2020
import com.google.common.collect.ImmutableMap;
21+
2122
import org.openqa.selenium.BuildInfo;
2223
import org.openqa.selenium.Capabilities;
2324
import org.openqa.selenium.Credentials;
@@ -93,7 +94,7 @@ protected ChromiumDriver(CommandExecutor commandExecutor, Capabilities capabilit
9394

9495
HttpClient.Factory factory = HttpClient.Factory.createDefault();
9596
Capabilities originalCapabilities = super.getCapabilities();
96-
Optional<URI> cdpUri = ChromiumDevToolsLocator.getReportedUri(capabilityKey, originalCapabilities)
97+
Optional<URI> cdpUri = CdpEndpointFinder.getReportedUri(capabilityKey, originalCapabilities)
9798
.flatMap(uri -> CdpEndpointFinder.getCdpEndPoint(factory, uri));
9899

99100
connection = cdpUri.map(uri -> new Connection(

java/server/src/org/openqa/selenium/grid/node/BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ java_library(
1313
],
1414
deps = [
1515
"//java/client/src/org/openqa/selenium:core",
16-
"//java/client/src/org/openqa/selenium/chromium",
16+
"//java/client/src/org/openqa/selenium/devtools",
1717
"//java/client/src/org/openqa/selenium/json",
1818
"//java/client/src/org/openqa/selenium/remote",
1919
"//java/server/src/org/openqa/selenium/grid/component",

java/server/src/org/openqa/selenium/grid/node/ProxyNodeCdp.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
package org.openqa.selenium.grid.node;
1919

2020
import org.openqa.selenium.Capabilities;
21-
import org.openqa.selenium.chromium.ChromiumDevToolsLocator;
2221
import org.openqa.selenium.devtools.CdpEndpointFinder;
2322
import org.openqa.selenium.grid.data.Session;
2423
import org.openqa.selenium.remote.SessionId;
@@ -76,15 +75,22 @@ public Optional<Consumer<Message>> apply(String uri, Consumer<Message> downstrea
7675
LOG.fine("Scanning for CDP endpoint: " + caps);
7776

7877
// Using strings here to avoid Node depending upon specific drivers.
79-
Optional<URI> cdpUri = ChromiumDevToolsLocator.getReportedUri("goog:chromeOptions", caps)
78+
Optional<URI> cdpUri = CdpEndpointFinder.getReportedUri("goog:chromeOptions", caps)
8079
.flatMap(reported -> CdpEndpointFinder.getCdpEndPoint(clientFactory, reported));
8180
if (cdpUri.isPresent()) {
8281
LOG.fine("Chrome endpoint found");
8382
return cdpUri.map(cdp -> createCdpEndPoint(cdp, downstream));
8483
}
8584

85+
cdpUri = CdpEndpointFinder.getReportedUri("moz:debuggerAddress", caps)
86+
.flatMap(reported -> CdpEndpointFinder.getCdpEndPoint(clientFactory, reported));
87+
if (cdpUri.isPresent()) {
88+
LOG.fine("Firefox endpoint found");
89+
return cdpUri.map(cdp -> createCdpEndPoint(cdp, downstream));
90+
}
91+
8692
LOG.fine("Searching for edge options");
87-
cdpUri = ChromiumDevToolsLocator.getReportedUri("ms:edgeOptions", caps)
93+
cdpUri = CdpEndpointFinder.getReportedUri("ms:edgeOptions", caps)
8894
.flatMap(reported -> CdpEndpointFinder.getCdpEndPoint(clientFactory, reported));
8995
return cdpUri.map(cdp -> createCdpEndPoint(cdp, downstream));
9096
}

java/server/src/org/openqa/selenium/grid/node/config/DriverServiceSessionFactory.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import org.openqa.selenium.Platform;
2424
import org.openqa.selenium.SessionNotCreatedException;
2525
import org.openqa.selenium.WebDriverException;
26-
import org.openqa.selenium.chromium.ChromiumDevToolsLocator;
26+
import org.openqa.selenium.devtools.CdpEndpointFinder;
2727
import org.openqa.selenium.grid.data.CreateSessionRequest;
2828
import org.openqa.selenium.grid.node.ActiveSession;
2929
import org.openqa.selenium.grid.node.ProtocolConvertingSession;
@@ -199,10 +199,12 @@ public DevToolsInfo(URI cdpEndpoint, String version) {
199199
}
200200

201201
Function<Capabilities, Optional<DevToolsInfo>> chrome = c ->
202-
ChromiumDevToolsLocator.getReportedUri("goog:chromeOptions", c).map(uri -> new DevToolsInfo(uri, c.getBrowserVersion()));
202+
CdpEndpointFinder.getReportedUri("goog:chromeOptions", c)
203+
.map(uri -> new DevToolsInfo(uri, c.getBrowserVersion()));
203204

204205
Function<Capabilities, Optional<DevToolsInfo>> edge = c ->
205-
ChromiumDevToolsLocator.getReportedUri("ms:edgeOptions", c).map(uri -> new DevToolsInfo(uri, c.getBrowserVersion()));
206+
CdpEndpointFinder.getReportedUri("ms:edgeOptions", c)
207+
.map(uri -> new DevToolsInfo(uri, c.getBrowserVersion()));
206208

207209
Function<Capabilities, Optional<DevToolsInfo>> firefox = c -> {
208210
Object address = c.getCapability("moz:debuggerAddress");
@@ -216,7 +218,7 @@ public DevToolsInfo(URI cdpEndpoint, String version) {
216218
});
217219
};
218220

219-
Optional<DevToolsInfo> maybeInfo = Stream.of(chrome, edge)
221+
Optional<DevToolsInfo> maybeInfo = Stream.of(chrome, edge, firefox)
220222
.map(finder -> finder.apply(caps))
221223
.filter(Optional::isPresent)
222224
.map(Optional::get)

0 commit comments

Comments
 (0)