Skip to content

Commit 84af205

Browse files
committed
Use the *Mutators designed for the Node pipeline in the Hub
This starts the process of migrating the Node to use a properly configured pipeline rather than using the Hub to rewrite the requests.
1 parent 36342d0 commit 84af205

File tree

3 files changed

+12
-35
lines changed

3 files changed

+12
-35
lines changed

java/server/src/org/openqa/grid/selenium/BUCK

+4-1
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,14 @@ python_binary(name = 'generate-build-info',
2727
java_library(name = 'classes',
2828
maven_coords = 'org.seleniumhq.selenium:selenium-server:' + SE_VERSION,
2929
maven_pom_template = '//java/client/src/org/openqa/selenium:template-pom',
30-
srcs = glob(['**/*.java']),
30+
srcs = glob(
31+
['**/*.java'],
32+
excludes = ['node/**']),
3133
deps = [
3234
'//java/client/src/org/openqa/selenium:selenium',
3335
'//java/client/src/org/openqa/selenium:client-combined',
3436
'//java/server/src/org/openqa/grid:grid',
37+
'//java/server/src/org/openqa/grid/selenium/node:node',
3538
'//java/server/src/org/openqa/selenium/remote/server/log:log',
3639
'//java/server/src/org/openqa/selenium/remote/server:standalone-server-lib',
3740
'//java/server/src/org/openqa/selenium/remote/server:server',

java/server/src/org/openqa/grid/selenium/node/BUCK

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ java_library(
88
"//java/client/src/org/openqa/selenium/firefox:firefox",
99
],
1010
visibility = [
11+
"//java/server/src/org/openqa/grid/selenium:classes",
1112
"//java/server/test/org/openqa/grid/selenium/node:",
1213
],
1314
)

java/server/src/org/openqa/grid/selenium/proxy/DefaultRemoteProxy.java

+7-34
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,10 @@
3030
import org.openqa.grid.internal.listeners.TestSessionListener;
3131
import org.openqa.grid.internal.listeners.TimeoutListener;
3232
import org.openqa.grid.internal.utils.HtmlRenderer;
33+
import org.openqa.grid.selenium.node.ChromeMutator;
3334
import org.openqa.grid.selenium.node.FirefoxMutator;
34-
import org.openqa.selenium.chrome.ChromeOptions;
35-
import org.openqa.selenium.firefox.FirefoxDriver;
36-
import org.openqa.selenium.firefox.FirefoxOptions;
37-
import org.openqa.selenium.remote.BrowserType;
38-
import org.openqa.selenium.remote.CapabilityType;
35+
import org.openqa.selenium.ImmutableCapabilities;
3936

40-
import java.util.HashMap;
4137
import java.util.List;
4238
import java.util.Map;
4339
import java.util.concurrent.CopyOnWriteArrayList;
@@ -224,35 +220,12 @@ public void beforeSession(TestSession session) {
224220
if (session.getSlot().getProtocol() == SeleniumProtocol.WebDriver) {
225221
Map<String, Object> cap = session.getRequestedCapabilities();
226222

227-
if (BrowserType.FIREFOX.equals(cap.get(CapabilityType.BROWSER_NAME)) &&
228-
session.getSlot().getCapabilities().get(FirefoxDriver.BINARY) != null) {
229-
String binary = (String) session.getSlot().getCapabilities().get(FirefoxDriver.BINARY);
223+
ImmutableCapabilities caps = new ImmutableCapabilities(cap);
224+
caps = new ChromeMutator(session.getSlot().getCapabilities()).apply(caps);
225+
caps = new FirefoxMutator(session.getSlot().getCapabilities()).apply(caps);
230226

231-
if (cap.get(FirefoxDriver.BINARY) == null) {
232-
session.getRequestedCapabilities().put(FirefoxDriver.BINARY, binary);
233-
}
234-
235-
if (cap.get(FirefoxOptions.FIREFOX_OPTIONS) instanceof Map) {
236-
@SuppressWarnings("unchecked") Map<String, Object> options =
237-
(Map<String, Object>) cap.get(FirefoxOptions.FIREFOX_OPTIONS);
238-
if (options.get("binary") == null) {
239-
options.put("binary", session.getSlot().getCapabilities().get(FirefoxDriver.BINARY));
240-
}
241-
}
242-
}
243-
244-
if (BrowserType.CHROME.equals(cap.get(CapabilityType.BROWSER_NAME))) {
245-
if (session.getSlot().getCapabilities().get("chrome_binary") != null) {
246-
Map<String, Object> options = (Map<String, Object>) cap.get(ChromeOptions.CAPABILITY);
247-
if (options == null) {
248-
options = new HashMap<>();
249-
}
250-
if (!options.containsKey("binary")) {
251-
options.put("binary", session.getSlot().getCapabilities().get("chrome_binary"));
252-
}
253-
cap.put(ChromeOptions.CAPABILITY, options);
254-
}
255-
}
227+
cap.clear();
228+
cap.putAll(caps.asMap());
256229
}
257230
}
258231

0 commit comments

Comments
 (0)