今天早上(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/