测试失败后会出现许多IEDriverServer.exe

时间:2012-09-14 05:13:50

标签: python internet-explorer selenium webdriver

我在Internet Explorer 8.0上运行selenium测试时遇到问题。在詹金斯。 测试失败,然后出现许多IEDriverServer.exe。

在日志中:“由于目标计算机主动拒绝连接,因此无法建立连接”

什么是问题?

链接到屏幕截图:many IEDriverServer

1 个答案:

答案 0 :(得分:4)

是的,以前情况完全一样,应该像贫血症所说的一样。

在TestCleanUp()方法中,应该调用driver.Quit()。然后,如果您的测试失败或在测试体中发现异常,测试仍将正常退出。

[TestClass]
public class IEDriverTest {

    private IWebDriver driver;

    [TestInitialize]
    public void Initialize() {
        driver = new InternetExplorerDriver();
    }

    [TestMethod]
    public void Test() {
        // test steps
    }

    [TestCleanup]
    public void CleanupTests() {
        driver.Quit();
    }
}

但是,我发现在极少数情况下,在TestInitialize时间(使用Visual Studio测试框架)捕获异常时,某些旧版本的IEDriverServer会挂起。然后,您可能需要一些特殊处理,捕获异常并手动调用driver.Quit()。

如果driver.Quit()不能以某种方式工作。您也可以尝试手动杀死ie和IEDriverServer进程。 我强烈建议你不要这样做。

[TestCleanup]
public void Cleanup() {
    KillProcessByName("iexplore");
    KillProcessByName("IEDriverServer");
}

private void KillProcessByName(string processName) {
    foreach (Process process in Process.GetProcessesByName(processName)) {
        process.Kill();
    }
}