我在 Internet Explorer 8.0 上运行 selenium 测试时遇到问题。关于詹金斯。测试失败,然后出现很多IEDriverServer.exe。
在日志中:“无法建立连接,因为目标机器主动拒绝它”
什么是问题?
截图链接:很多 IEDriverServer
我在 Internet Explorer 8.0 上运行 selenium 测试时遇到问题。关于詹金斯。测试失败,然后出现很多IEDriverServer.exe。
在日志中:“无法建立连接,因为目标机器主动拒绝它”
什么是问题?
截图链接:很多 IEDriverServer
是的,之前有完全一样的情况,应该像 aneroid 所说的那样做。
在您的 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();
}
}