2014-01-09 71 views
7

今天上午(2014年1月8日)Chrome自動更新爲「Version 32.0.1700.72 m」,現在我所有的自動化測試都不會運行 - 它們會以「System .InvalidOperationException:System.InvalidOperationException:未知錯誤:無法發現打開的頁面「幾乎立即。硒因Chrome版本32.0.1700.72失效m

我運行:

  • Windows 7企業版(SP1)64位
  • 的Chrome版本32.0.1700.72米
  • 硒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構造函數調用失敗。

其他人看到相同的問題?謝謝!

+0

是否有人能夠得到這個工作的Mac? 我們運行了同樣的問題,但是從這裏抓取最新的chromedriver 2.8時: http://chromedriver.storage.googleapis.com/index.html?path=2.8/ 是顯示2.4版本。此外,即使使用這款chromedriver版本,仍然會遇到這個問題。 –

+0

2.8 - 同樣的錯誤 – HLL

回答

14

Chrome/Firefox更新時這很常見,ChromeDriver/Selenium總是需要趕上。

但是,最新的ChromeDriver應該已經支持Chrome 32。你的情況是因爲你正在使用過時的ChromeDriver 2.2。請使用最新版本2.8,您可以下載它here

否則,如果您需要保留ChromeDriver 2.2,您還可以將Chrome降級到舊版本。

+0

感謝您的鏈接。 :)問題解決了Windows 7! –

+0

我遇到了同樣的問題!我該如何檢查,我正在運行哪個版本的ChromeDriver。在下載最新版本的ChromeDriver之後,我應該在哪裏複製它?謝謝! – ManiAm

+1

@ManiAm:看看這裏如何使用它。 https://sites.google.com/a/chromium.org/chromedriver/home –

3

剛剛遇到同樣的問題; 並通過更新ChromeDriver從2.4更新到2.8

2

對於我們的項目,我們使用npm。我通過移除node_modules \ chromedriver,然後運行解決同一個問題:

npm install chromedriver 
+0

爲了將來的參考,您應該能夠避免必須將其刪除並調用'npm update chromedriver',它應該爲您處理所有事情。以下是該特定調用的文檔:https://npmjs.org/doc/cli/npm-update.html –

1

Chrome更新經常發生,而不是所有的更新都將必然與chromedriver的特定版本。通過安裝Google gpeditor管理模板來控制並打開Goog​​le Chrome更新策略。通過這種方式,您可以控制和測試您的更新,同時適用於Chrome和Chromedriver。請注意,最好儘快更新Chrome。

WikiHow shows you!

這是因爲鉻27我採取的方法和chromedriver 2.1。運作良好並保持測試的完整性。

相關問題