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

Den*_*yba 13 selenium webdriver selenium-chromedriver selenium-webdriver

使用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;
 }
Run Code Online (Sandbox Code Playgroud)

我使用这个类作为PageObject类的基类,我使用PageFactory来初始化网页的元素.

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

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

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

Jas*_*onG 17

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

我们改变了这个:

Driver.Manage().Window.Maximize();
Run Code Online (Sandbox Code Playgroud)

对此(仅适用于Chrome):

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

    driver = new ChromeDriver(driverPath, options);
}
Run Code Online (Sandbox Code Playgroud)