我在Internet Explorer 8.0上运行selenium测试时遇到问题。在詹金斯。 测试失败,然后出现许多IEDriverServer.exe。
在日志中:“由于目标计算机主动拒绝连接,因此无法建立连接”
什么是问题?
链接到屏幕截图:many IEDriverServer
答案 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();
}
}