我正在使用Selenium和IE Web Driver。每当我的测试开始时,IE驱动程序服务器也会启动,但在测试完成后它不会关闭/退出。因此,对于下一次测试运行,我最终会有多个IEDriverServer.exe
进程实例。如何在试运行后关闭它?
以下是我使用的示例代码:
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
var ie = new OpenQA.Selenium.IE.InternetExplorerDriver(new OpenQA.Selenium.IE.InternetExplorerOptions() {
IntroduceInstabilityByIgnoringProtectedModeSettings = true
});
ie.Navigate().GoToUrl("http://localhost:50640/");
ie.Close();
ie.Close(
Assert.IsTrue(true);
}
}
我知道我可以使用ProcessInfo
来杀死它,但拥有Selenium解决方案会很不错。
答案 0 :(得分:4)
您是否尝试过使用ie.Quit();
?
Quit()
是完全退出的(浏览器和驱动程序)。
Close()
用于关闭浏览器窗口。这就是为什么在您的情况下,IEDriverServer.exe
保持打开状态。
<强> IWebDriver.cs
强>
/// <summary>
/// Close the current window, quitting the browser if it is the last window currently open.
/// </summary>
void Close();
/// <summary>
/// Quits this driver, closing every associated window.
/// </summary>
void Quit();
RemoteWebDriver.cs
(这是 InternetExplorerDriver.cs
的基类)
/// <summary>
/// Closes the Browser
/// </summary>
public void Close()
{
this.Execute(DriverCommand.Close, null);
}
/// <summary>
/// Close the Browser and Dispose of WebDriver
/// </summary>
public void Quit()
{
this.Dispose();
}