无法从超时获得自动化扩展:超时从渲染器接收消息

时间:2014-09-17 12:00:46

标签: selenium selenium-webdriver webdriver selenium-chromedriver

使用Selenium Webdriver(C#)我不时会收到下一个错误:

  

System.InvalidOperationException:未知错误:无法从超时获取自动化扩展:超时从渲染器接收消息:-3.959(会话信息:chrome = 37.0.2062.120)(驱动程序信息:chromedriver = 2.10.267521,platform = Windows NT 6.2 x86_64)

出现这种错误的方式:

  

OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)位于c:\ Projects \ webdriver \ dotnet \ src \ webdriver \ Remote \ RemoteWebDriver.cs:第1048行OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute,Dictionary`2参数)在c:\ Projects \ webdriver \ dotnet \ src \ webdriver \ Remote \ RemoteWebDriver.cs:第865行的AutomatedTests.DriverCover..ctor(IWebDriver驱动程序)

所以,它发生在下一段代码中:

 public class DriverCover
 {
        public DriverCover(IWebDriver driver)
        {
            _driver = driver;

            _driver.Manage().Window.Maximize(); //There is my mistake
        }

        private readonly IWebDriver _driver;
 }

我使用此类作为PageObject类的基类,我使用PageFactory初始化网页元素。

我有chromedriver v.2.10 和Google Chrome v.37.0.2062.120 m

另外:在同一行我得到了另一个错误:

  

OpenQA.Selenium.WebDriverException:对URL http://localhost:62407/session/021e05cd4c89abedb2abc77342b3bd7c/window/current/maximize的远程WebDriver服务器的HTTP请求在60秒后超时。 ----> System.Net.WebException:该操作在OpenQA.Selenium的c:\ Projects \ webdriver \ dotnet \ src \ webdriver \ Remote \ HttpCommandExecutor.cs:第152行中的OpenQA.Selenium.Remote.HttpCommandExecutor.CreateResponse(WebRequest请求)已超时。 .Remote.DriverServiceCommandExecutor.Execute(命令commandToExecute)位于c:\ Projects \ webdriver \ dotnet \ src \ webdriver \ Remote \ DriverServiceCommandExecutor.cs:第73行OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute,Dictionary`2参数)在C:\ Projects \ webdriver \ dotnet \ src \ webdriver \ Remote \ RemoteWebDriver.cs:877行AutomatedTests.DriverCover..ctor(IWebDriver驱动程序)

5 个答案:

答案 0 :(得分:17)

我们看到类似Chrome的内容,问题归结为我们在运行测试之前最大化浏览器的方式。

我们改变了:

Driver.Manage().Window.Maximize();

至此(仅适用于Chrome):

if (typeof(TWebDriver) == typeof(ChromeDriver))
{
    var options = new ChromeOptions();
    options.AddArgument("start-maximized");

    driver = new ChromeDriver(driverPath, options);
}

答案 1 :(得分:4)

由于Chrome驱动程序不匹配而发生这种情况。我通过将驱动程序升级到最新版本来解决此问题.i。2.29(https://chromedriver.storage.googleapis.com/index.html?path=2.29/

答案 2 :(得分:0)

有一个类似的问题,同样的错误,但是当调用getScreenshotAs()....我有一个旧的ChromeDriver和更新修复了我的问题

答案 3 :(得分:0)

这个工作在谷歌搜索了许多线程之后,我终于找到了解决这些问题的方法。

虽然上述大多数解决方案都正确指出了由 Chrome 更新中的错误引起的问题,但请按照以下解决方案进行修复-

下载并使用与Chrome版本兼容的最新ChromeDriver 从 https://www.selenium.dev/ 下载最新的 Selenium 驱动程序并在您的系统上执行一次 jar 文件。 再次运行你的代码,看看神奇

答案 4 :(得分:-1)

更新ChromeDriver将解决此问题。