Selenium ChromeDriver (C#) 仅在 Visual Studio 调试模式下崩溃

Selenium ChromeDriver (C#) Crashes Only in Visual Studio Debug Mode

我在 运行我在 Visual Studio 中用 C# 编写的 Selenium 测试遇到问题。

我遇到的问题是,当我在调试模式下从工作室 运行 对 ChromeDriver 进行测试时,chrome window 总是崩溃并皱着眉头。

chrome驱动程序命令window循环显示以下错误(~20次)。

Starting ChromeDriver 2.24.417431 (9aea000394714d2fbb20850021f6204f2256b9cf) on port 52376
Only local connections are allowed.
[28356:19528:0922/134628:ERROR:child_process_launcher.cc(528)] Failed to launch child process

这是我得到的轨迹:

at OpenQA.Selenium.Remote.HttpCommandExecutor.CreateResponse(WebRequest request)

at OpenQA.Selenium.Remote.HttpCommandExecutor.Execute(Command commandToExecute)

at OpenQA.Selenium.Remote.DriverServiceCommandExecutor.Execute(Command commandToExecute)

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(ChromeDriverService service, ChromeOptions options)

最好的部分是,当我 运行 直接从资源管理器(在工作室外)进行测试时,它工作得很好。

我使用其他人构建的测试 运行ner。我不确定 运行ner 在用什么。

IDE: Visual Studio Enterprise 2015 Update 3

Chrome Driver Version: 2.24.417431

底线: 我希望能够从 Studio 本身(在调试模式下)运行 我的 Selenium 测试。有人可以帮我吗?

我观察到如果 chrome 驱动程序版本与 chrome 浏览器版本不兼容,chrome 驱动程序(V2.28 之前)在操作浏览器(即最大化、调整大小等)

解决方案 1:
使用 Version 2.28,因为它修复了一个错误,该错误会阻止 Chrome 驱动程序自动化扩展加载,从而导致 window resizing/positioning 和屏幕截图功能中断。 (注意 ChromeDriver 2.28 支持 Chrome v55-57)

解决方案 2:
如果您的 chrome 驱动程序未更新到 V2.28:使用适当的 Chromium Command Line Switch(例如 chromeOptions.AddArguments("--start-maximized");)来操纵浏览器并删除行 driver.manage().window().maximize();(如果有)。

如果这个答案对您有用,请标记+1。