【问题标题】:Selenium Fails with Chrome Version 32.0.1700.72 mSelenium 使用 Chrome 版本 32.0.1700.72 m 失败
【发布时间】:2014-01-27 09:00:05
【问题描述】:

Chrome 今天早上(2014 年 1 月 8 日)为我自动更新到“版本 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 构造函数调用失败。

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

【问题讨论】:

  • 有没有人能让这个在 mac 上工作?我们遇到了同样的问题,但是当从这里获取最新的 chromedriver 2.8 时:chromedriver.storage.googleapis.com/index.html?path=2.8 正在显示 2.4 版。此外,即使使用这个 chromedriver 版本,仍然会遇到这个问题。

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


【解决方案1】:

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

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

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

【讨论】:

  • 感谢您的链接。 :) Windows 7 的问题已解决!
  • 我也遇到了同样的问题!如何检查我正在运行的 ChromeDriver 版本。另外,下载最新版本的 ChromeDriver 后,我应该将它复制到哪里?谢谢!
  • @ManiAm:看看这里如何使用它。 sites.google.com/a/chromium.org/chromedriver/home
  • @user1177636 我在 Windows 上遇到了这个问题,我有最新的 Chrome 和 Chromedriver 2.9。测试运行,但我得到所有未实现的错误
  • @user699242:这只是 ChromeDriver 的控制台输出,并不表示测试有任何问题。
【解决方案2】:

刚刚遇到同样的问题; 并通过将 ChromeDriver 从 2.4 更新到 2.8 来解决

【讨论】:

    【解决方案3】:

    对于我们的项目,我们使用 npm。我通过删除 node_modules\chromedriver 解决了同样的问题,然后运行:

    npm install chromedriver
    

    【讨论】:

    • 为了将来参考,您应该能够避免删除它,只需致电npm update chromedriver,它应该会为您处理一切。这是该特定呼叫的文档:npmjs.org/doc/cli/npm-update.html
    【解决方案4】:

    Chrome 更新经常发生,并非所有更新都必须适用于特定版本的 chromedriver。通过安装 Google gpeditor 管理模板并打开 Google Chrome 更新策略来进行控制。通过这种方式,您可以根据 chrome 和 chromedriver 的需要控制和测试您的更新。请注意,最好尽快更新 chrome。

    WikiHow shows you!

    这是我从 chrome 27 和 chromedriver 2.1 开始采用的方法。运行良好并保持测试的完整性。

    【讨论】:

      猜你喜欢
      • 2015-08-07
      • 2017-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-03
      • 1970-01-01
      相关资源
      最近更新 更多