Bug description
We're launching remote browsers on Selenium Grid standalone and have set up selenium-manager on there to manager the browser versions. Selenium-manager is working fine and automatically downloads the latest versions of both firefox and chrome on our Linux based server.
However, we recently wanted to do some testing on a specific version of chrome, so we attempted to use the DescriptCapabilities setVersion method to set the version to "145" rather than "stable". That version of chrome was already downloaded and cached by selenium-manager.
When trying to launch the browser selenium-manager couldn't understand which version was required and an queued grid browser appeared with no version information which then timed out when it couldn't be launched.
The above behaviour could be repeated on firefox with a specific browser version set as well.
After a lot of trial and error, we found we could manually configure old browser versions in the selenium.toml file which could then be launched fine; as well as still getting the latest stable versions via selenium-manager.
We raised this issue SeleniumHQ/selenium#17175 with selenium-manager and it should automatically manager those old browser versions, and does with other language driver frameworks. So something being sent from php-webdriver isn't matching the criteria needed by selenium-manager to trigger the specific browser version to be matched.
Just let us know if you need any further information.
How could the issue be reproduced
$url = 'http://localhost:4444/wd/hub'; // this is the default
$capabilities = DesiredCapabilities::chrome(); // https://php-webdriver.github.io/php-webdriver/1.16.0/Facebook/WebDriver/Remote/DesiredCapabilities.html
$options = new ChromeOptions();
$options->addArguments(['--disable-infobars']);
$options->addArguments(['--hide-scrollbars']);
$options->addArguments(['--window-size=1280,800']);
$options->addArguments(['--headless']);
$options->addArguments(['--verbose']);
$capabilities->setCapability(ChromeOptions::CAPABILITY, $options);
$capabilities->setVersion("145");
$driver = RemoteWebDriver::create($url, $capabilities, 50000, 60000);
Expected behavior
A locally installed Selenium Grid instance should launch an instance of Chrome v145, either pre-downloaded or downloaded on-the-fly by selenium-manager. Using a specific version number will "queue" a browser before timing out, using "stable" will succeed.
Php-webdriver version
1.16.0
PHP version
8.3.30
How do you start the browser driver or Selenium server
java -jar /opt/selenium/cache/grid/4.41.0/selenium-server-4.41.0.jar standalone --config /etc/selenium.toml --selenium-manager true
Selenium server / Selenium Docker image version
4.41.0
Browser driver (chromedriver/geckodriver...) version
No response
Browser name and version
No response
Operating system
Rocky linux 9.7
Additional context
No response
Bug description
We're launching remote browsers on Selenium Grid standalone and have set up selenium-manager on there to manager the browser versions. Selenium-manager is working fine and automatically downloads the latest versions of both firefox and chrome on our Linux based server.
However, we recently wanted to do some testing on a specific version of chrome, so we attempted to use the DescriptCapabilities setVersion method to set the version to "145" rather than "stable". That version of chrome was already downloaded and cached by selenium-manager.
When trying to launch the browser selenium-manager couldn't understand which version was required and an queued grid browser appeared with no version information which then timed out when it couldn't be launched.
The above behaviour could be repeated on firefox with a specific browser version set as well.
After a lot of trial and error, we found we could manually configure old browser versions in the selenium.toml file which could then be launched fine; as well as still getting the latest stable versions via selenium-manager.
We raised this issue SeleniumHQ/selenium#17175 with selenium-manager and it should automatically manager those old browser versions, and does with other language driver frameworks. So something being sent from php-webdriver isn't matching the criteria needed by selenium-manager to trigger the specific browser version to be matched.
Just let us know if you need any further information.
How could the issue be reproduced
Expected behavior
A locally installed Selenium Grid instance should launch an instance of Chrome v145, either pre-downloaded or downloaded on-the-fly by selenium-manager. Using a specific version number will "queue" a browser before timing out, using "stable" will succeed.
Php-webdriver version
1.16.0
PHP version
8.3.30
How do you start the browser driver or Selenium server
java -jar /opt/selenium/cache/grid/4.41.0/selenium-server-4.41.0.jar standalone --config /etc/selenium.toml --selenium-manager true
Selenium server / Selenium Docker image version
4.41.0
Browser driver (chromedriver/geckodriver...) version
No response
Browser name and version
No response
Operating system
Rocky linux 9.7
Additional context
No response