我正在使用 chromedriver 2.22.0.0(通过 nuget 包安装)在 VS 中运行 Specflow。在本地,chromedriver 启动并且所有测试运行良好。
但是,当尝试在 TeamCity 9 中运行时,我收到以下错误:
Test(s) failed. System.InvalidOperationException : unknown error: cannot find Chrome binary
(Driver info: chromedriver=2.22.397933 (1cab651507b88dec79b2b2a22d1943c01833cc1b),platform=Windows NT 6.3.9600 x86_64)
at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)
at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
at OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities)
at OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities)
at OpenQA.Selenium.Chrome.ChromeDriver..ctor(ChromeOptions options)
我已检查该包是否存在于 TeamCity 服务器上,并且确实存在。事实上,它实际上在后台启动了 chromedriver.exe,正如我在任务管理器中看到的那样。
是否是chromedriver的版本与TeamCity运行的Windows服务器不兼容?有什么想法吗?
感谢任何帮助!
或者,在 TeamCity 中使用 chromedriver 运行 Specflow 测试时最好的方法是什么?
最佳答案
尽管在 TeamCity 2017.1.5 上,我也遇到了完全相同的问题。对我来说,它有助于在同一台计算机上安装 Chrome(实际的完整浏览器)。看来 ChromeDriver 正在与 mothership 共享一些代码?
有人会认为 ChromeDriver 应该是独立的二进制文件,但事实似乎并非如此......
关于TeamCity 9.1.7 中的 Selenium ChromeDriver - 找不到 Chrome 二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37947947/