c# - Selenium 在 Chrome 版本 32.0.1700.72 m 中失败

标签 c# google-chrome selenium .net-4.5 selenium-chromedriver

今天早上(2014 年 1 月 8 日),Chrome 自动为我更新到“版本 32.0.1700.72 m”,现在我所有的自动化测试都无法运行——它们因“System.InvalidOperationException: System.InvalidOperationException: 未知错误”而失败: 几乎无法立即发现打开的页面。

我在运行:

  • Windows 7 企业版 (SP1) 64 位
  • Chrome 版本 32.0.1700.72 m
  • Selenium ChromeDriver v2.2
  • .NET C#

这是我得到的控制台输出:

Starting ChromeDriver (v2.2) on port 26819
[8668:8300:0108/162344:ERROR:chrome_views_delegate.cc(176)] NOT IMPLEMENTED
[8668:8300:0108/162344:ERROR:desktop_root_window_host_win.cc(746)] NOT IMPLEMENTED
[8668:8300:0108/162345:ERROR:desktop_root_window_host_win.cc(746)] NOT IMPLEMENTED

这是我得到的异常:

Class Initialization method LeadManager.Web.UITest.Tests.ViewLeads.PriorityModeTests.ClassInitialize threw exception. System.InvalidOperationException: System.InvalidOperationException: unknown error: unable to discover open pages
  (Driver info: chromedriver=2.2,platform=Windows NT 6.1 SP1 x86_64).
    at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse) in c:\Projects\WebDriver\trunk\dotnet\src\WebDriver\Remote\RemoteWebDriver.cs: line 1012
   at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters) in c:\Projects\WebDriver\trunk\dotnet\src\WebDriver\Remote\RemoteWebDriver.cs: line 846
   at OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities) in c:\Projects\WebDriver\trunk\dotnet\src\WebDriver\Remote\RemoteWebDriver.cs: line 814
   at OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities) in c:\Projects\WebDriver\trunk\dotnet\src\WebDriver\Remote\RemoteWebDriver.cs: line 89
   at OpenQA.Selenium.Chrome.ChromeDriver..ctor(String chromeDriverDirectory, ChromeOptions options) in c:\Projects\WebDriver\trunk\dotnet\src\WebDriver\Chrome\ChromeDriver.cs: line 101
   at UITestFramework.Providers.WebDriverProvider.CreateWebDriver(TestSettings settings) in WebDriverProvider.cs: line 73
   at UITestFramework.Domain.TestSettings..ctor(BrowserType browserType, String baseUrl) in TestSettings.cs: line 69
   at LeadManager.Web.UITest.Tests.SettingsFactory.GetSettings() in SettingsFactory.cs: line 33
   at LeadManager.Web.UITest.Tests.ViewLeads.PriorityModeTests.ClassInitialize(TestContext context) in PriorityModeTests.cs: line 38

因此 ChromeDriver 构造函数调用失败。

还有其他人看到同样的问题吗?谢谢!

最佳答案

这在 Chrome/Firefox 更新时很常见,ChromeDriver/Selenium 总是需要跟上。

但是,最新的 ChromeDriver 应该已经支持 Chrome 32。您的情况是因为您使用的是过时的 ChromeDriver 2.2。请使用最新的2.8版本,可以下载here .

否则,如果您需要保留 ChromeDriver 2.2,您也可以将 Chrome 降级到旧版本。

关于c# - Selenium 在 Chrome 版本 32.0.1700.72 m 中失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21009568/

相关文章:

c# - 如何从其父级返回集合的第一个对象

c# - MemoryStream CopyTo 仅部分写入

c# - 在 ASP.NET MVC4 中从登录 View 重定向到 ChangePassword View

firefox - 如何在 Chrome 和 Firefox 中使用 YouTube iFrame API?

google-chrome - Google 跟踪代码管理器预览模式不适用于点击

android - 如何修复 Chrome for Android 中损坏的验证气泡样式?

c# - 如何在Azure API函数中返回变量并通过移动应用程序中的调用异步函数读取它

java - 与 Selenium Grid 并行运行 TestNG 套件

google-chrome - WebDriver异常: unknown error: DevToolsActivePort file doesn't exist while trying to initiate Chrome Browser

python - 控制顺序测试在 Selenium 中运行