我正在使用Selenium的IE驱动程序进行Web测试。启动IE8并关闭它后,IEDriverServer.exe
进程不会消失。如果我再次运行测试,则会创建一个新进程并保持挂起状态。我的测试代码或Selenium设置有什么问题?
using (var driver = new InternetExplorerDriver(
new InternetExplorerOptions() {
IntroduceInstabilityByIgnoringProtectedModeSettings = true }))
{
Assert.IsTrue(true);
driver.Close();
}
答案 0 :(得分:5)
您运行的是哪种版本的Selenium WebDriver .NET绑定? 2.25或更早版本中.NET InternetExplorerDriver类的.Dispose()
方法的语义不等同于调用.Quit()
方法。这意味着要在版本2.25或更早版本的.NET绑定中正确关闭IEDriverServer.exe进程,您必须显式调用.Quit()
方法。应该注意的是,对于尚未发布的2.26版本的.NET绑定,这已经发生了变化,调用.Dispose()
将等同于调用.Quit()
,无论是通过显式调用还是通过隐式调用using
构造。
答案 1 :(得分:1)
简化:
.Quit() - >关闭驱动程序和浏览器
.Close() - >关闭浏览器
.Dispose() - >不知道