Skip to content

Commit 35e4776

Browse files
committed
[java] Fixing remote tests on Windows, bazel does not make symlinks inside runfiles directory so we should find server in another place
1 parent 4975741 commit 35e4776

File tree

2 files changed

+17
-3
lines changed

2 files changed

+17
-3
lines changed

java/client/test/org/openqa/selenium/testing/drivers/OutOfProcessSeleniumServer.java

+16-2
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,13 @@
1717

1818
package org.openqa.selenium.testing.drivers;
1919

20+
import org.openqa.selenium.Platform;
2021
import org.openqa.selenium.net.NetworkUtils;
2122
import org.openqa.selenium.net.PortProber;
2223
import org.openqa.selenium.net.UrlChecker;
2324
import org.openqa.selenium.os.CommandLine;
2425

26+
import java.io.File;
2527
import java.net.MalformedURLException;
2628
import java.net.URL;
2729
import java.util.logging.Logger;
@@ -61,8 +63,12 @@ public OutOfProcessSeleniumServer start(String mode, String... extraFlags) {
6163
baseUrl = String.format("http://%s:%d", localAddress, port);
6264

6365
command = new CommandLine("java", Stream.concat(
64-
Stream.of("-jar", serverJar, mode, "--port", String.valueOf(port)),
65-
Stream.of(extraFlags)).toArray(String[]::new));
66+
Stream.of("-jar", serverJar, mode, "--port", String.valueOf(port)),
67+
Stream.of(extraFlags)).toArray(String[]::new));
68+
if (Platform.getCurrent().is(Platform.WINDOWS)) {
69+
File workingDir = findBinRoot(new File(".").getAbsoluteFile());
70+
command.setWorkingDirectory(workingDir.getAbsolutePath());
71+
}
6672

6773
command.copyOutputTo(System.err);
6874
log.info("Starting selenium server: " + command.toString());
@@ -88,6 +94,14 @@ public OutOfProcessSeleniumServer start(String mode, String... extraFlags) {
8894
return this;
8995
}
9096

97+
private File findBinRoot(File dir) {
98+
if ("bin".equals(dir.getName())) {
99+
return dir;
100+
} else {
101+
return findBinRoot(dir.getParentFile());
102+
}
103+
}
104+
91105
public void stop() {
92106
if (command == null) {
93107
return;

java/client/test/org/openqa/selenium/testing/drivers/RemoteSupplier.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ public WebDriver get() {
6262
return driver;
6363
}
6464

65-
private synchronized void startServer() {
65+
private synchronized void startServer() {
6666
if (started) {
6767
return;
6868
}

0 commit comments

Comments
 (0)