2016-09-22 217 views
2

我面临的一个问题是在Visual Studio中运行用C#编写的Selenium测试。Selenium ChromeDriver(C#)仅在Visual Studio调试模式下崩溃

我遇到的问题是,当我在调试模式下从工作室在ChromeDriver上运行测试时,铬窗口始终与皱眉脸一起崩溃。

enter image description here

的chromedriver命令窗口显示在循环中(〜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) 

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

我使用由别人构建的测试运行器。我不确定跑步者正在使用什么。

IDE: Visual Studio企业2015年更新3

Chrome的驱动程序版本: 2.24.417431

底线:我希望能够从我的运行Selenium测试Studio(调试模式)本身。任何人都可以请帮我在这里?

+1

我有点找到了解决这个问题的方法。 我已经设置Visual Studio始终以管理员级别运行。 当我将它设置为以普通用户身份运行(非管理员模式)时,它可以正常工作。 虽然没有确定的解决方案。 – supersophisticated

+0

有没有发现任何关于此?我有相反的问题.. – JNF

+0

不,还没有。我继续以非管理员身份运行。 – supersophisticated

回答

1

我观察到,如果Chrome驱动程序版本是无法与Chrome浏览器版本,铬驱动程序(V2.28)之前不兼容时抛出的错误,同时操纵浏览器(即最大化,调整大小等)

解决方案1:
使用Version 2.28,因为它修复了阻止ChromeDriver自动扩展程序加载的错误,从而导致窗口大小调整/定位&截图功能被破坏。 (请注意,ChromeDriver 2.28可支持Chrome v55-57)

解决方案2:
如果您的Chrome驱动程序未更新为V2.28:使用合适的Chromium Command Line Switch(前chromeOptions.AddArguments("--start-maximized");)操纵浏览器,如果删除行driver.manage().window().maximize();任何。

Mark +1如果此答案对您有用。