-
-
Notifications
You must be signed in to change notification settings - Fork 8.6k
Closed
Labels
A-needs-triagingA Selenium member will evaluate this soon!A Selenium member will evaluate this soon!C-javaJava BindingsJava BindingsI-defectSomething is not working as intendedSomething is not working as intended
Milestone
Description
What happened?
In selenium-java 4.12.0-SNAPSHOT, there is a hardcoded timeout of 10 seconds for the execution of Selenium Manager. This timeout is insufficient to download browsers, and maybe even for drivers in slow connections.
How can we reproduce the issue?
Any test using the automated browser management (Chrome or Firefox) in Java will be broken because of this timeout. For example:
import static org.assertj.core.api.Assertions.assertThat;
import java.util.Arrays;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxOptions;
import org.openqa.selenium.manager.SeleniumManager;
class BasicTest {
WebDriver driver;
@BeforeEach
void setup() {
Arrays.stream(Logger.getLogger("").getHandlers()).forEach(handler -> {
handler.setLevel(Level.FINE);
});
Logger.getLogger(SeleniumManager.class.getName()).setLevel(Level.FINE);
FirefoxOptions options = new FirefoxOptions();
options.setBrowserVersion("118");
driver = new FirefoxDriver(options);
}
@AfterEach
void teardown() {
if (driver != null) {
driver.quit();
}
}
@Test
void test() {
driver.get("https://bonigarcia.dev/selenium-webdriver-java/");
assertThat(driver.getTitle()).contains("Selenium WebDriver");
}
}Relevant log output
org.openqa.selenium.remote.NoSuchDriverException: Unable to obtain: Capabilities {acceptInsecureCerts: true, browserName: firefox, browserVersion: 118, moz:debuggerAddress: true, moz:firefoxOptions: {}}, error Failed to run command: [--browser, firefox, --output, json, --browser-version, 118, --debug]
at org.openqa.selenium.remote.service.DriverFinder.getPath(DriverFinder.java:25)
at org.openqa.selenium.remote.service.DriverFinder.getPath(DriverFinder.java:13)
at org.openqa.selenium.firefox.FirefoxDriver.generateExecutor(FirefoxDriver.java:141)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:132)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:127)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:112)
at io.github.bonigarcia.wdm.test.BasicTest.setup(BasicTest.java:46)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
Caused by: org.openqa.selenium.WebDriverException: Failed to run command: [--browser, firefox, --output, json, --browser-version, 118, --debug]
at org.openqa.selenium.manager.SeleniumManager.runCommand(SeleniumManager.java:121)
at org.openqa.selenium.manager.SeleniumManager.getDriverPath(SeleniumManager.java:286)
at org.openqa.selenium.remote.service.DriverFinder.getPath(DriverFinder.java:22)
... 9 more
Caused by: org.openqa.selenium.TimeoutException: Process timed out after waiting for 10000 ms.
Build info: version: '4.12.0-SNAPSHOT', revision: '1104c8f'
System info: os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '11.0.15'
Driver info: driver.version: FirefoxDriver
at org.openqa.selenium.os.OsProcess.waitFor(OsProcess.java:183)
at org.openqa.selenium.os.CommandLine.waitFor(CommandLine.java:117)
at org.openqa.selenium.manager.SeleniumManager.runCommand(SeleniumManager.java:114)
... 11 moreOperating System
Not relevant
Selenium version
4.12.0-SNAPSHOT
What are the browser(s) and version(s) where you see this issue?
Chrome, Firefox
What are the browser driver(s) and version(s) where you see this issue?
Not relevant
Are you using Selenium Grid?
No
Metadata
Metadata
Assignees
Labels
A-needs-triagingA Selenium member will evaluate this soon!A Selenium member will evaluate this soon!C-javaJava BindingsJava BindingsI-defectSomething is not working as intendedSomething is not working as intended