1

我正在使用 Selenium 和 IE Web 驱动程序。每当我的测试开始时,IE Driver Server 也会启动,但在测试完成后它不会关闭/退出。因此,对于下一次测试运行,我最终得到了多个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 解决方案会很好。

4

1 回答 1

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();
}
于 2013-08-12T22:45:59.277 回答