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

淺唱寂寞╮ 提交于 2019-12-28 14:43:09

问题


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)


回答1:


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);
}



回答2:


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




回答3:


You can try this, worked for me My chrome browser version is : 57 and Chrome Driver version is : 2.27 By adding the following code lines i resolved my problem.

ChromeOptions options = new ChromeOptions();
options.addArguments("enable-automation");
options.addArguments("--disable-infobars");
WebDriver driver = new ChromeDriver(options);



回答4:


Had a similar issue, same error, but when calling getScreenshotAs().... I had a old ChromeDriver and updating fixed the issue for me




回答5:


Updating the ChromeDriver will do the trick for this problem.



来源:https://stackoverflow.com/questions/25890027/cannot-get-automation-extension-from-timeout-timed-out-receiving-message-from-r

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!