Skip to content
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’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[🐛 Bug]: Not able to launch browser through selenium grid with latest version #15234

Closed
mmuthum opened this issue Feb 5, 2025 · 2 comments

Comments

@mmuthum
Copy link

mmuthum commented Feb 5, 2025

What happened?

Not able to launch browser through selenium grid hosted publicly and remote WebDriver can be accessed only with authentication

Getting DriverConfigurationError driving browser launch
net.thucydides.core.webdriver.DriverConfigurationError: Could not instantiate class net.thucydides.core.webdriver.ProvidedDriver

EX: http://username:password@hostname:port/wd/hub

Below are the versions used(Tried with multiple version):

	<maven.compiler.source>11</maven.compiler.source>
	<junit.version>4.13.2</junit.version>
	<serenity-core.version>4.2.16</serenity-core.version>
	<selenium.version>4.28.1</selenium.version>

Able to access with grid with authentication in older versions
<junit.version>5.9.2</junit.version>
<serenity-core.version>3.6.15</serenity-core.version>
<selenium.version>4.8.3</selenium.version>

How can we reproduce the issue?

Below are the versions used(Tried with multiple version):

		<maven.compiler.source>11</maven.compiler.source>
		<junit.version>4.13.2</junit.version>
		<serenity-core.version>4.2.16</serenity-core.version>
		<selenium.version>4.28.1</selenium.version>

Able to access with grid with authentication in older versions
		<junit.version>5.9.2</junit.version>
		<serenity-core.version>3.6.15</serenity-core.version>
		<selenium.version>

Relevant log output

net.thucydides.core.webdriver.DriverConfigurationError: Could not instantiate class net.thucydides.core.webdriver.ProvidedDriver
	at net.thucydides.core.webdriver.WebDriverFacade.newDriverInstance(WebDriverFacade.java:193)
	at net.thucydides.core.webdriver.WebDriverFacade.newProxyDriver(WebDriverFacade.java:181)
	at net.thucydides.core.webdriver.WebDriverFacade.getProxiedDriver(WebDriverFacade.java:132)
	at net.thucydides.core.webdriver.WebDriverFacade.get(WebDriverFacade.java:221)
	at com.company.Solid.Pages.HomePage.tidLoginPageLaunch(HomePage.java:102)
	at com.company.Solid.Pages.HomePage$ByteBuddy$qVx8SVhg.tidLoginPageLaunch$accessor$hGH9OnkT(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at net.thucydides.core.steps.StepInterceptor.invokeMethod(StepInterceptor.java:524)
	at net.thucydides.core.steps.StepInterceptor.executeTestStepMethod(StepInterceptor.java:504)
	at net.thucydides.core.steps.StepInterceptor.runTestStep(StepInterceptor.java:476)
	at net.thucydides.core.steps.StepInterceptor.runOrSkipMethod(StepInterceptor.java:218)
	at net.thucydides.core.steps.StepInterceptor.testStepResult(StepInterceptor.java:205)
	at net.thucydides.core.steps.StepInterceptor.intercept(StepInterceptor.java:93)
	at net.thucydides.core.steps.ProxyConfiguration$InterceptorDispatcher.intercept(ProxyConfiguration.java:51)
	at com.company.Solid.Pages.HomePage$ByteBuddy$qVx8SVhg.tidLoginPageLaunch(Unknown Source)
	at com.company.Solid.Steps.LoginSteps.user_tries_to_login_into_solid_application(LoginSteps.java:94)
	at ✽.user tries to login into solid application(file:///C:/Users/mmuthum/Desktop/GithubNew/solid-automation-suite/src/test/java/features/com/company/Solid/UI/Login.feature:58)
Caused by: net.thucydides.core.webdriver.DriverConfigurationError: After several attempts, could not instantiate new WebDriver instance of type class net.thucydides.core.webdriver.ProvidedDriver (Could not instantiate the custom webdriver provider of type mydriver). See below for more details.
	at net.thucydides.core.webdriver.WebDriverFactory.waitThenRetry(WebDriverFactory.java:187)
	at net.thucydides.core.webdriver.WebDriverFactory.waitThenRetry(WebDriverFactory.java:197)
	at net.thucydides.core.webdriver.WebDriverFactory.waitThenRetry(WebDriverFactory.java:197)
	at net.thucydides.core.webdriver.WebDriverFactory.waitThenRetry(WebDriverFactory.java:197)
	at net.thucydides.core.webdriver.WebDriverFactory.waitThenRetry(WebDriverFactory.java:197)
	at net.thucydides.core.webdriver.WebDriverFactory.waitThenRetry(WebDriverFactory.java:197)
	at net.thucydides.core.webdriver.WebDriverFactory.waitThenRetry(WebDriverFactory.java:197)
	at net.thucydides.core.webdriver.WebDriverFactory.waitThenRetry(WebDriverFactory.java:173)
	at net.thucydides.core.webdriver.WebDriverFactory.newWebdriverInstance(WebDriverFactory.java:146)
	at net.thucydides.core.webdriver.WebDriverFacade.newDriverInstance(WebDriverFacade.java:190)
	at net.thucydides.core.webdriver.WebDriverFacade.newProxyDriver(WebDriverFacade.java:181)
	at net.thucydides.core.webdriver.WebDriverFacade.getProxiedDriver(WebDriverFacade.java:132)
	at net.thucydides.core.webdriver.WebDriverFacade.get(WebDriverFacade.java:221)
	at com.company.Solid.Pages.HomePage.tidLoginPageLaunch(HomePage.java:102)
	at com.company.Solid.Pages.HomePage$ByteBuddy$qVx8SVhg.tidLoginPageLaunch$accessor$hGH9OnkT(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at net.thucydides.core.steps.StepInterceptor.invokeMethod(StepInterceptor.java:524)
	at net.thucydides.core.steps.StepInterceptor.executeTestStepMethod(StepInterceptor.java:504)
	at net.thucydides.core.steps.StepInterceptor.runTestStep(StepInterceptor.java:476)
	at net.thucydides.core.steps.StepInterceptor.runOrSkipMethod(StepInterceptor.java:218)
	at net.thucydides.core.steps.StepInterceptor.testStepResult(StepInterceptor.java:205)
	at net.thucydides.core.steps.StepInterceptor.intercept(StepInterceptor.java:93)
	at net.thucydides.core.steps.ProxyConfiguration$InterceptorDispatcher.intercept(ProxyConfiguration.java:51)
	at com.company.Solid.Pages.HomePage$ByteBuddy$qVx8SVhg.tidLoginPageLaunch(Unknown Source)
	at com.company.Solid.Steps.LoginSteps.user_tries_to_login_into_solid_application(LoginSteps.java:94)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at io.cucumber.java.Invoker.doInvoke(Invoker.java:66)
	at io.cucumber.java.Invoker.invoke(Invoker.java:24)
	at io.cucumber.java.AbstractGlueDefinition.invokeMethod(AbstractGlueDefinition.java:47)
	at io.cucumber.java.JavaStepDefinition.execute(JavaStepDefinition.java:29)
	at io.cucumber.core.runner.CoreStepDefinition.execute(CoreStepDefinition.java:66)
	at io.cucumber.core.runner.PickleStepDefinitionMatch.runStep(PickleStepDefinitionMatch.java:62)
	at io.cucumber.core.runner.ExecutionMode$1.execute(ExecutionMode.java:10)
	at io.cucumber.core.runner.TestStep.executeStep(TestStep.java:81)
	at io.cucumber.core.runner.TestStep.run(TestStep.java:53)
	at io.cucumber.core.runner.PickleStepTestStep.run(PickleStepTestStep.java:51)
	at io.cucumber.core.runner.TestCase.run(TestCase.java:84)
	at io.cucumber.core.runner.Runner.runPickle(Runner.java:75)
	at io.cucumber.junit.PickleRunners$NoStepDescriptions.lambda$run$0(PickleRunners.java:151)
	at io.cucumber.core.runtime.CucumberExecutionContext.lambda$runTestCase$5(CucumberExecutionContext.java:136)
	at io.cucumber.core.runtime.RethrowingThrowableCollector.executeAndThrow(RethrowingThrowableCollector.java:23)
	at io.cucumber.core.runtime.CucumberExecutionContext.runTestCase(CucumberExecutionContext.java:136)
	at io.cucumber.junit.PickleRunners$NoStepDescriptions.run(PickleRunners.java:148)
	at io.cucumber.junit.FeatureRunner.runChild(FeatureRunner.java:144)
	at io.cucumber.junit.FeatureRunner.runChild(FeatureRunner.java:28)
	at io.cucumber.junit.FeatureRunner.run(FeatureRunner.java:137)
	at io.cucumber.junit.CucumberSerenityBaseRunner.runChild(CucumberSerenityBaseRunner.java:332)
	at io.cucumber.junit.CucumberSerenityBaseRunner.runChild(CucumberSerenityBaseRunner.java:53)
	at io.cucumber.junit.CucumberSerenityBaseRunner$RunCucumber.evaluate(CucumberSerenityBaseRunner.java:363)
Caused by: java.lang.RuntimeException: Could not instantiate the custom webdriver provider of type mydriver
	at net.serenitybdd.core.webdriver.driverproviders.ProvidedDriverProvider.newInstance(ProvidedDriverProvider.java:24)
	at net.thucydides.core.webdriver.WebDriverFactory.createWebDriver(WebDriverFactory.java:156)
	at net.thucydides.core.webdriver.WebDriverFactory.waitThenRetry(WebDriverFactory.java:193)
	... 47 more
Caused by: org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Unable to parse remote response: <html>
<head><title>400 Bad Request</title></head>
<body>
<center><h1>400 Bad Request</h1></center>
<hr><center>nginx</center>
</body>
</html>
 
Host info: host: 'MMUTHUM-IN-LE04', ip: '10.40.26.160'
	at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:100)
	at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:75)
	at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:61)
	at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:187)
	at org.openqa.selenium.remote.TracedCommandExecutor.execute(TracedCommandExecutor.java:53)
	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:545)
	at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:245)
	at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:174)
	at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:152)
	at com.helper.core.DriverInitialization.newDriver(DriverInitialization.java:45)
	at net.serenitybdd.core.webdriver.driverproviders.ProvidedDriverProvider.newInstance(ProvidedDriverProvider.java:22)
	... 49 more
Caused by: org.openqa.selenium.json.JsonException: Unable to parse: <html>
<head><title>400 Bad Request</title></head>
<body>
<center><h1>400 Bad Request</h1></center>
<hr><center>nginx</center>
</body>
</html>

	at org.openqa.selenium.json.Json.toType(Json.java:169)
	at org.openqa.selenium.json.Json.toType(Json.java:152)
	at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:96)
	... 59 more
Caused by: org.openqa.selenium.json.JsonException: Unable to determine type from: <. Last 1 characters read: <, next 128 characters to read: html>
<head><title>400 Bad Request</title></head>
<body>
<center><h1>400 Bad Request</h1></center>
<hr><center>nginx</center
Build info: version: '4.28.1', revision: '73f5ad48a2'
System info: os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '11.0.14'
Driver info: driver.version: RemoteWebDriver
	at org.openqa.selenium.json.JsonInput.peek(JsonInput.java:166)
	at org.openqa.selenium.json.JsonTypeCoercer.lambda$buildCoercer$6(JsonTypeCoercer.java:167)
	at org.openqa.selenium.json.JsonTypeCoercer.coerce(JsonTypeCoercer.java:146)
	at org.openqa.selenium.json.Json.toType(Json.java:206)
	at org.openqa.selenium.json.Json.toType(Json.java:167)
	... 61 more

Operating System

Windows 10

Selenium version

4.28.1

What are the browser(s) and version(s) where you see this issue?

Chrome 115

What are the browser driver(s) and version(s) where you see this issue?

RemoteWebDriver

Are you using Selenium Grid?

4.25.0

Copy link

github-actions bot commented Feb 5, 2025

@mmuthum, thank you for creating this issue. We will troubleshoot it as soon as we can.


Info for maintainers

Triage this issue by using labels.

If information is missing, add a helpful comment and then I-issue-template label.

If the issue is a question, add the I-question label.

If the issue is valid but there is no time to troubleshoot it, consider adding the help wanted label.

If the issue requires changes or fixes from an external project (e.g., ChromeDriver, GeckoDriver, MSEdgeDriver, W3C), add the applicable G-* label, and it will provide the correct link and auto-close the issue.

After troubleshooting the issue, please add the R-awaiting answer label.

Thank you!

@diemol
Copy link
Member

diemol commented Feb 5, 2025

This is how you can set up auth for Grid in Java.

https://www.selenium.dev/documentation/grid/configuration/toml_options/#basic-auth-enabled

@diemol diemol closed this as not planned Won't fix, can't repro, duplicate, stale Feb 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants