WebDriver: ChromeDriver在初始化时试图到达http://localhost/session失败



完整的错误信息是:

 Test(s) failed. OpenQA.Selenium.WebDriverException : The HTTP request to the remote WebDriver server for URL http://localhost:59662/session timed out after 60 seconds.
  ----> System.Net.WebException : The operation has timed out

在我的代码行,这是发生简单实例一个新的ChromeDriver实例:

CurrentDriver = new ChromeDriver(section["chromedriverfolder"]);
所以我的问题是……为什么一个新的ChromeDriver调用/session URL,什么可能导致它失败?

我在TeamCity 9.x上运行Selenium.WebDriver.ChromeDriver v2.22和Chrome v52.0.2743.116 m时遇到了同样的错误。我能够通过回滚运行在TeamCity代理上的Chrome版本到v51来解决这个问题。

检查代理执行测试时,有一个弹出错误:"Chrome自动化扩展已崩溃。单击此气球以重新加载扩展。"

这似乎是最新版Chrome和Selenium.WebDriver的一个bug。ChromeDriver,但到目前为止,这是我发现的唯一线索

编辑:链接到ChromeDriver问题

EDIT2:到分辨率的链接

我有答案,其中ChromeDriver调用/session URL,但不是第二部分为什么它超时。请看看它是否可以提供一些导致调试过程中发现故障:当我们调用new ChromeDriver()它在构造函数中创建RemoteWebDriver:

super(new DriverCommandExecutor(service), capabilities);

最终到达:

public RemoteWebDriver(CommandExecutor executor, Capabilities desiredCapabilities,
      Capabilities requiredCapabilities) {

在这个方法中,我们执行startClient在这里什么都不做

在startClient之后我们做:

startSession(desiredCapabilities, requiredCapabilities);

这个方法在下面一行发出请求/会话:

Response response = execute(DriverCommand.NEW_SESSION, parameters);

DriverCommand。NEW_SESSION设置为newSession,映射到命令编解码器

中的post/session
defineCommand(NEW_SESSION, post("/session"));

最新更新