.NET: How can I find out why my Selenium ChromeDriver constructor is throwing on time out?

0

I have a C# project that implements several Selenium.WebDriver browser tests. The tests target Google Chrome through the ChromeDriver class provided in Selenium.WebDriver.ChromeDriver.

The tests pass green in ש CI environment but when I run them locally (from Visual Studio 2019 in debug mode) the following happens:

  1. I see Google Chrome open up in "remote control mode".
  2. Chrome shows a blank page (URL says "data;.")
  3. The run freezes on the line where I call the ChromeDriver constructor.
  4. After 60 seconds an exception is throw with the following stack trace:
OpenQA.Selenium.WebDriverException
  HResult=0x80131500
  Message=The HTTP request to the remote WebDriver server for URL http://localhost:27556/session timed out after 60 seconds.
  Source=WebDriver
  StackTrace:
   at OpenQA.Selenium.Remote.HttpCommandExecutor.MakeHttpRequest(HttpRequestInfo requestInfo)
   at OpenQA.Selenium.Remote.HttpCommandExecutor.Execute(Command commandToExecute)
   at OpenQA.Selenium.Remote.DriverServiceCommandExecutor.Execute(Command commandToExecute)
   at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
   at OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities)
   at OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities)
   at OpenQA.Selenium.Chrome.ChromeDriver..ctor(ChromeDriverService service, ChromeOptions options, TimeSpan commandTimeout)
   at OpenQA.Selenium.Chrome.ChromeDriver..ctor(ChromeOptions options)
   at MyProject.Infra.WebDriver.WebDriverFactory.CreateWebDriver() in C:\MyProject\Infra\WebDriver\WebDriverFactory.cs:line 53
   at MyProject.Infra.WindsorContainer.WindsorInstaller.<Install>b__2_2() in C:\MyProject\Infra\WindsorContainer\WindsorInstaller.cs:line 62
   at Castle.MicroKernel.Registration.ComponentRegistration`1.<>c__DisplayClass83_0`1.<UsingFactoryMethod>b__0(IKernel k, ComponentModel m, CreationContext c)
   at Castle.MicroKernel.ComponentActivator.FactoryMethodActivator`1.Instantiate(CreationContext context)
   at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.InternalCreate(CreationContext context)
   at Castle.MicroKernel.ComponentActivator.AbstractComponentActivator.Create(CreationContext context, Burden burden)
   at Castle.MicroKernel.Lifestyle.AbstractLifestyleManager.CreateInstance(CreationContext context, Boolean trackedExternally)
   at Castle.MicroKernel.Lifestyle.SingletonLifestyleManager.Resolve(CreationContext context, IReleasePolicy releasePolicy)
   at Castle.MicroKernel.Handlers.DefaultHandler.ResolveCore(CreationContext context, Boolean requiresDecommission, Boolean instanceRequired, Burden& burden)
   at Castle.MicroKernel.Handlers.DefaultHandler.Resolve(CreationContext context, Boolean instanceRequired)
   at Castle.MicroKernel.Handlers.AbstractHandler.Resolve(CreationContext context)
   at Castle.MicroKernel.Resolvers.DefaultDependencyResolver.ResolveFromKernelByType(CreationContext context, ComponentModel model, DependencyModel dependency)
   at Castle.MicroKernel.Resolvers.DefaultDependencyResolver.ResolveFromKernel(CreationContext context, ComponentModel model, DependencyModel dependency)
   at Castle.MicroKernel.Resolvers.DefaultDependencyResolver.ResolveCore(CreationContext context, ISubDependencyResolver contextHandlerResolver, ComponentModel model, DependencyModel dependency)
   at Castle.MicroKernel.Resolvers.DefaultDependencyResolver.Resolve(CreationContext context, ISubDependencyResolver contextHandlerResolver, ComponentModel model, DependencyModel dependency)
   at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.ObtainPropertyValue(CreationContext context, PropertySet property, IDependencyResolver resolver)

Inner Exception 1:
WebException: The operation has timed out

My question is - How can I determine why the request to the remote WedDriver server times out? Is there a debug or trace log that I can enable? Or can I step into the ChromeDriver constructor to examine its internal workings? How?

Please note: I am not including the specific code for setting up my ChromeDriver as I am under some code security restrictions placed by the code's owner. My question is for a generalized procedure or tooling for debugging the general situation I've described. Thank you.

selenium
selenium-webdriver
selenium-chromedriver
asked on Stack Overflow Dec 19, 2019 by urig

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0