Skip to content

Commit 12da530

Browse files
committed
Clean up Chrome support in FallbackConfig
1 parent fd2049b commit 12da530

File tree

1 file changed

+17
-25
lines changed

1 file changed

+17
-25
lines changed

src/main/java/org/jenkinsci/test/acceptance/FallbackConfig.java

Lines changed: 17 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,10 @@
1212
import java.io.File;
1313
import java.io.IOException;
1414
import java.net.InetAddress;
15-
import java.net.MalformedURLException;
16-
import java.net.URL;
1715
import java.net.UnknownHostException;
1816
import java.nio.file.Files;
1917
import java.nio.file.Path;
2018
import java.time.Duration;
21-
import java.util.HashMap;
2219
import java.util.Locale;
2320
import java.util.Map;
2421
import java.util.logging.Logger;
@@ -63,7 +60,6 @@
6360
import org.openqa.selenium.firefox.FirefoxDriver;
6461
import org.openqa.selenium.firefox.FirefoxOptions;
6562
import org.openqa.selenium.firefox.GeckoDriverService;
66-
import org.openqa.selenium.remote.Augmenter;
6763
import org.openqa.selenium.remote.CapabilityType;
6864
import org.openqa.selenium.remote.LocalFileDetector;
6965
import org.openqa.selenium.remote.RemoteWebDriver;
@@ -113,19 +109,10 @@ private WebDriver createWebDriver(TestCleaner cleaner, TestName testName) throws
113109
return createContainerWebDriver(
114110
cleaner, "selenium/standalone-firefox:4.32.0", buildFirefoxOptions(testName));
115111
case "chrome-container":
116-
return createContainerWebDriver(cleaner, "selenium/standalone-chrome:4.32.0", new ChromeOptions());
112+
return createContainerWebDriver(
113+
cleaner, "selenium/standalone-chrome:4.32.0", buildChromeOptions(testName));
117114
case "chrome":
118-
Map<String, String> prefs = new HashMap<>();
119-
prefs.put(LANGUAGE_SELECTOR, "en");
120-
ChromeOptions options = new ChromeOptions();
121-
options.setExperimentalOption("prefs", prefs);
122-
if (HarRecorder.isCaptureHarEnabled()) {
123-
options.setAcceptInsecureCerts(true);
124-
options.setProxy(createSeleniumProxy(testName.get()));
125-
}
126-
127-
setDriverPropertyIfMissing("chromedriver", ChromeDriverService.CHROME_DRIVER_EXE_PROPERTY);
128-
return new ChromeDriver(options);
115+
return new ChromeDriver(buildChromeOptions(testName));
129116
case "safari":
130117
return new SafariDriver();
131118
case "saucelabs":
@@ -154,16 +141,16 @@ private WebDriver createWebDriver(TestCleaner cleaner, TestName testName) throws
154141
}
155142
}
156143

157-
private WebDriver buildRemoteWebDriver(Capabilities options) throws MalformedURLException {
144+
private WebDriver buildRemoteWebDriver(Capabilities options) {
158145
String u = System.getenv("REMOTE_WEBDRIVER_URL");
159146
if (StringUtils.isBlank(u)) {
160147
throw new Error("remote-webdriver type browsers require REMOTE_WEBDRIVER_URL to be set");
161148
}
162-
RemoteWebDriver driver = new RemoteWebDriver(
163-
new URL(u), // http://192.168.99.100:4444/wd/hub
164-
options);
165-
driver.setFileDetector(new LocalFileDetector());
166-
return new Augmenter().augment(driver);
149+
// http://192.168.99.100:4444/wd/hub
150+
WebDriver driver =
151+
RemoteWebDriver.builder().address(u).addAlternative(options).build();
152+
((RemoteWebDriver) driver).setFileDetector(new LocalFileDetector());
153+
return driver;
167154
}
168155

169156
private String getBrowser() {
@@ -196,9 +183,12 @@ private FirefoxOptions buildFirefoxOptions(TestName testName) throws IOException
196183

197184
private ChromeOptions buildChromeOptions(TestName testName) throws IOException {
198185
ChromeOptions chromeOptions = new ChromeOptions();
186+
chromeOptions.setExperimentalOption("prefs", Map.of(LANGUAGE_SELECTOR, "en"));
187+
chromeOptions.enableBiDi();
199188
if (HarRecorder.isCaptureHarEnabled()) {
200189
chromeOptions.setProxy(createSeleniumProxy(testName.get()));
201190
}
191+
setDriverPropertyIfMissing("chromedriver", ChromeDriverService.CHROME_DRIVER_EXE_PROPERTY);
202192
return chromeOptions;
203193
}
204194

@@ -260,10 +250,12 @@ public String toString() {
260250
Thread.sleep(3000); // Give the container and selenium some time to spawn
261251

262252
try {
263-
RemoteWebDriver remoteWebDriver =
264-
new RemoteWebDriver(new URL("http://127.0.0.1:" + controlPort + "/wd/hub"), capabilities);
253+
WebDriver driver = RemoteWebDriver.builder()
254+
.address("http://127.0.0.1:" + controlPort + "/wd/hub")
255+
.addAlternative(capabilities)
256+
.build();
265257
cleaner.addTask(cleanContainer);
266-
return new Augmenter().augment(remoteWebDriver);
258+
return driver;
267259
} catch (RuntimeException e) {
268260
cleanContainer.close();
269261
throw e;

0 commit comments

Comments
 (0)