-
-
Notifications
You must be signed in to change notification settings - Fork 8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.
Already on GitHub? Sign in to your account
[馃悰 Bug]: Selenium Grid node 4.21 trying to download driver even when driver are present on the system #14093
Comments
@ketanb02, thank you for creating this issue. We will troubleshoot it as soon as we can. Info for maintainersTriage this issue by using labels.
If information is missing, add a helpful comment and then
If the issue is a question, add the
If the issue is valid but there is no time to troubleshoot it, consider adding the
If the issue requires changes or fixes from an external project (e.g., ChromeDriver, GeckoDriver, MSEdgeDriver, W3C),
add the applicable
After troubleshooting the issue, please add the Thank you! |
It shouldn't attempt to make any network calls when selenium-manager is not set to true. What is your |
`[node] [[node.driver-configuration]] [[node.driver-configuration]] [[node.driver-configuration]] [server] [events] ` |
log-level FINE 20:10:04.482 DEBUG [RequestConverter.channelRead0] - Incoming message: DefaultHttpRequest(decodeResult: success, version: HTTP/1.1) |
You're right, when --selenium-manager is not set, this should include offline mode:
I have an idea of why this might be the case (feature that makes sense for bindings that isn't backwards compatible with grid; there's a lot of complexity to maintaining backwards compatibility and work properly in both grid and bindings. @bonigarcia if we have a valid driver for a valid browser we shouldn't need to make calls to known good versions? Of note, in the future selenium-manager will default to true, and if you don't want network calls, you can specify the driver location with system properties, or in your toml file with |
In its usual regular way of working SM, it checks the corresponding online endpoint (e.g., CfT) to discover the proper driver version for a given browser version. Then, in the online mode, SM should not make network requests. Moreover, SM implements a best-effort function to discover the more convenient driver from the cache. |
But if that fails, shouldn't it still use the valid one that was already located? |
If SM fails requesting the online endpoints, yes, it will execute the previous best effort logic to try locate some valid driver in the cache. |
Please add thr |
But what about a valid driver in PATH? |
What happened?
Selenium Grid node 4.21 trying to download driver even when driver are present on the system. I understood that selenium manager is false by default, still when test is executed it is trying to download driver from the external sites (external to my org).
We are using in house cloud setup and don't have access to internet via proxy or direct.
All driver path are setup in environment variable. Running chromedriver --version in cmd gives me below response
ChromeDriver 125.0.6422.141 (4b1e83937122185343ba92e909b021f307c719ca-refs/branch-heads/6422@{#1186})
It works fine if I start the node on 4.10
Error message at node side
14:56:44.346 WARN [SeleniumManager.lambda$runCommand$1] - error sending request for url (https://googlechromelabs.github.io/chrome-for-testing/known-good-versions-with-downloads.json)
14:56:44.361 WARN [DriverServiceSessionFactory.apply] - Error while creating session with the driver service. Unable to obtain: chromedriver, error Command failed with code: 65, executed: [--browser, chrome, --browser-version, 125.0, --language-binding, java, --output, json]
error sending request for url (https://googlechromelabs.github.io/chrome-for-testing/known-good-versions-with-downloads.json)
Build info: version: '4.21.0', revision: '79ed462ef4'
System info: os.name: 'Windows Server 2019', os.arch: 'amd64', os.version: '10.0', java.version: '17'
Driver info: driver.version: unknown
14:56:44.361 WARN [SeleniumSpanExporter$1.lambda$export$1] - Error while creating session with the driver service. Unable to obtain: chromedriver, error Command failed with code: 65, executed: [--browser, chrome, --browser-version, 125.0, --language-binding, java, --output, json]
error sending request for url (https://googlechromelabs.github.io/chrome-for-testing/known-good-versions-with-downloads.json)
Build info: version: '4.21.0', revision: '79ed462ef4'
System info: os.name: 'Windows Server 2019', os.arch: 'amd64', os.version: '10.0', java.version: '17'
Driver info: driver.version: unknown
14:56:44.361 WARN [SeleniumSpanExporter$1.lambda$export$1] - org.openqa.selenium.remote.NoSuchDriverException: Unable to obtain: chromedriver, error Command failed with code: 65, executed: [--browser, chrome, --browser-version, 125.0, --language-binding, java, --output, json]
error sending request for url (https://googlechromelabs.github.io/chrome-for-testing/known-good-versions-with-downloads.json)
Build info: version: '4.21.0', revision: '79ed462ef4'
System info: os.name: 'Windows Server 2019', os.arch: 'amd64', os.version: '10.0', java.version: '17'
Driver info: driver.version: unknown
at org.openqa.selenium.remote.service.DriverFinder.getBinaryPaths(DriverFinder.java:121)
at org.openqa.selenium.remote.service.DriverFinder.getDriverPath(DriverFinder.java:55)
at org.openqa.selenium.grid.node.config.DriverServiceSessionFactory.apply(DriverServiceSessionFactory.java:134)
at org.openqa.selenium.grid.node.config.DriverServiceSessionFactory.apply(DriverServiceSessionFactory.java:71)
at org.openqa.selenium.grid.node.local.SessionSlot.apply(SessionSlot.java:147)
at org.openqa.selenium.grid.node.local.LocalNode.newSession(LocalNode.java:469)
at org.openqa.selenium.grid.node.NewNodeSession.execute(NewNodeSession.java:50)
at org.openqa.selenium.remote.http.Route$TemplatizedRoute.handle(Route.java:192)
at org.openqa.selenium.remote.http.Route.execute(Route.java:69)
at org.openqa.selenium.grid.security.RequiresSecretFilter.lambda$apply$0(RequiresSecretFilter.java:62)
at org.openqa.selenium.remote.tracing.SpanWrappedHttpHandler.execute(SpanWrappedHttpHandler.java:87)
at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:63)
at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:360)
at org.openqa.selenium.remote.http.Route.execute(Route.java:69)
at org.openqa.selenium.grid.node.Node.execute(Node.java:270)
at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:360)
at org.openqa.selenium.remote.http.Route.execute(Route.java:69)
at org.openqa.selenium.remote.AddWebDriverSpecHeaders.lambda$apply$0(AddWebDriverSpecHeaders.java:35)
at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44)
at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:63)
at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44)
at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:63)
at org.openqa.selenium.netty.server.SeleniumHandler.lambda$channelRead0$0(SeleniumHandler.java:44)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: org.openqa.selenium.WebDriverException: Command failed with code: 65, executed: [--browser, chrome, --browser-version, 125.0, --language-binding, java, --output, json]
error sending request for url (https://googlechromelabs.github.io/chrome-for-testing/known-good-versions-with-downloads.json)
Build info: version: '4.21.0', revision: '79ed462ef4'
System info: os.name: 'Windows Server 2019', os.arch: 'amd64', os.version: '10.0', java.version: '17'
Driver info: driver.version: unknown
at org.openqa.selenium.manager.SeleniumManager.runCommand(SeleniumManager.java:169)
at org.openqa.selenium.manager.SeleniumManager.getBinaryPaths(SeleniumManager.java:244)
at org.openqa.selenium.remote.service.DriverFinder.getBinaryPaths(DriverFinder.java:102)
... 27 more
How can we reproduce the issue?
java -jar selenium-server-4.21.0.jar hub Hub starts java -jar selenium-server-4.21.0.jar node --config config.toml Node is getting attached tp hub Run any test on chrome - getting error
Relevant log output
Operating System
Windows Server 2019
Selenium version
4.21
What are the browser(s) and version(s) where you see this issue?
Chrome 125
What are the browser driver(s) and version(s) where you see this issue?
ChromeDriver 125.0.6422.141
Are you using Selenium Grid?
Yes 4.21
The text was updated successfully, but these errors were encountered: