Using Selenium Webdriver (C#) I'm getting the next error from time to time:
System.InvalidOperationException : unknown error: cannot get automation extension from timeout: Timed out receiving message from renderer: -3.959 (Session info: chrome=37.0.2062.120) (Driver info: chromedriver=2.10.267521,platform=Windows NT 6.2 x86_64)
The way in which this mistake appears:
OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse) in c:\Projects\webdriver\dotnet\src\webdriver\Remote\RemoteWebDriver.cs:line 1048 at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters) in c:\Projects\webdriver\dotnet\src\webdriver\Remote\RemoteWebDriver.cs:line 865 at AutomatedTests.DriverCover..ctor(IWebDriver driver)
So, it's happening in the next piece of code:
public class DriverCover
{
public DriverCover(IWebDriver driver)
{
_driver = driver;
_driver.Manage().Window.Maximize(); //There is my mistake
}
private readonly IWebDriver _driver;
}
I use this class as a base class of PageObject classes where I use PageFactory to initialize elements of web pages.
I have chromedriver v.2.10 and Google Chrome v. 37.0.2062.120 m
In addition: at the same line I got another error:
OpenQA.Selenium.WebDriverException : The HTTP request to the remote WebDriver server for URL
http://localhost:62407/session/021e05cd4c89abedb2abc77342b3bd7c/window/current/maximize
timed out after 60 seconds. ----> System.Net.WebException : The operation has timed outat OpenQA.Selenium.Remote.HttpCommandExecutor.CreateResponse(WebRequest request) in c:\Projects\webdriver\dotnet\src\webdriver\Remote\HttpCommandExecutor.cs:line 152 at OpenQA.Selenium.Remote.DriverServiceCommandExecutor.Execute(Command commandToExecute) in c:\Projects\webdriver\dotnet\src\webdriver\Remote\DriverServiceCommandExecutor.cs:line 73 at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters) in c:\Projects\webdriver\dotnet\src\webdriver\Remote\RemoteWebDriver.cs:line 852 at AutomatedTests.DriverCover..ctor(IWebDriver driver)
This is a timeout exception of the Webdriver that waits for the page load before performing actions. When the page takes more time to load and exceeds the time out in the settings page, the exception will throw.
You can try using some other property to locate the element such as CSS Selector or Xpath . Use explicit waits. This will ensure all timeouts happen after the given time. This should be declared at the start of the program before carrying out any tasks.
--disable-gpu doesn't run the script without opening the browser, only --headless .
We were seeing something similar with Chrome and the issue came down to the way we were maximizing the browser before running the tests.
We switched from this:
Driver.Manage().Window.Maximize();
To this (for Chrome only):
if (typeof(TWebDriver) == typeof(ChromeDriver))
{
var options = new ChromeOptions();
options.AddArgument("start-maximized");
driver = new ChromeDriver(driverPath, options);
}
It happens because of Chrome Driver Mismatch.I had fixed this issue by upgrading my driver to the latest version.i.e 2.29(https://chromedriver.storage.googleapis.com/index.html?path=2.29/)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With