Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cannot get automation extension from timeout: Timed out receiving message from renderer

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)

like image 694
Denis Koreyba Avatar asked Sep 17 '14 12:09

Denis Koreyba


People also ask

What is timed out receiving message from renderer?

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.

How does Python handle timeout exception in selenium?

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.

What is disable GPU in selenium?

--disable-gpu doesn't run the script without opening the browser, only --headless .


2 Answers

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);
}
like image 165
JasonG Avatar answered Sep 21 '22 23:09

JasonG


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/)

like image 41
Parshwaraj Avatar answered Sep 23 '22 23:09

Parshwaraj