Selenium WebDriver在完成测试后不会杀死iexplore进程

时间:2015-02-13 10:13:31

标签: c# selenium internet-explorer-8 webdriver teamcity

我在使用Teamcity的构建服务器上使用在C#.NET中编写的Selenium WebDriver自动化测试和在Internet Explorer 8中运行的NUnit框架。

第一个问题是启动IEDriverServer然后启动Internet Explorer浏览器进程,但我看不到它们 - 它们以某种方式隐藏。在任务管理器中,我可以在“进程”选项卡上看到它们,但不能在“应用程但是,当我在localhost上运行相同的代码时,它通常是可见的,我可以看到测试中发生了什么。

可能与第一个问题有关的第二个问题是在完成测试后没有关闭iexplore进程因此它们会留在那里并且在一段时间之后它会被卡住并且测试失败错误讯息:

SetUp method failed. SetUp : System.InvalidOperationException : Unexpected error launching Internet Explorer. IELaunchURL() returned HRESULT 80070490 ('Element not found.') for URL 'http://localhost:64352/' (NoSuchDriver)
   at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)
   at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
   at OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities) 

我发现的唯一解决方案是在完成测试后杀死所有iexplore进程,但这种行为必然有一些原因。我还希望在执行自动化测试时看到Internet Explorer正在运行。

是否有人遇到过这个问题?

1 个答案:

答案 0 :(得分:1)

我怀疑你可能正在将网格/节点作为服务运行。如果是这种情况,假设您可能已使用登录XXX来设置服务。现在,当您登录服务器以查看状态时,您可能正在使用登录YYY。因此,您无法看到其他用户正在执行的过程。

希望它有所帮助。