Skip to content

[🐛 Bug]: Timeout (10 seconds) when running SM in Java bindings #12630

@bonigarcia

Description

@bonigarcia

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 more

Operating 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

No one assigned

    Labels

    A-needs-triagingA Selenium member will evaluate this soon!C-javaJava BindingsI-defectSomething is not working as intended

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions