2012-09-14 52 views
2

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

在日志中:“无法连接,因为目标机器积极拒绝,”

是什么问题呢?

链接截图:many IEDriverServer

+1

哪种语言?相关:请记住[.quit关闭IE驱动程序进程](http://stackoverflow.com/a/11154803/1431750) – aneroid

+0

语言是python – ahanoff

回答

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(); 
    } 
} 
+0

谢谢,user1177636!会尝试。 – ahanoff