首页 > 解决方案 > Selenium IE11 - 无法打开 http://localhost:4200

问题描述

在某些非常特殊的情况下,我在 Selenium + IE11 中遇到了一个奇怪的错误。

我们运行 Selenium 测试,这些测试重用相同的浏览器窗口。在某些时候,它会停止加载该站点。我手动重新加载它并简要看到Failed to open http://localhost:4200

在此处输入图像描述

一秒钟后,它加载了 html 页面,但我认为它是从缓存中加载的,并且页面停留在“正在加载...”进度指示器。

F12 中的网络选项卡由于某种原因停止渲染(这是它在调整窗口大小几次后的样子 - 您可以清楚地看到以前重绘事件的伪影):

在此处输入图像描述

如果我打开一个新标签,它会从那里工作。一旦 IE11 卡在那个“状态”,我就不能让它在同一个选项卡中工作,即使我使用 Ctrl+Shift+Del 删除站点数据。

任何想法发生了什么?通过谷歌搜索,我根本找不到有关此Failed to open <URL>错误的任何信息。

标签: seleniuminternet-explorerinternet-explorer-11

解决方案


在查看 Process Explorer 时找到了原因。

在此处输入图像描述

我还在 GitHub 中发现了这个未解决的问题:

IEDriverServer 导致 iexplore.exe 中的内存泄漏 #3861

问题是我们正在一个非常繁重的应用程序上测试一个复杂的场景,当 IE 消耗超过大约 1.5 GB 时,它就会挂起。此外,即使在几个小时内运行简单的 driver.findElement(By) 场景也会导致 IE 挂起而不释放内存。

我还发现了这个问题: Multiple tests on the same IEdriver instance - memory issues


推荐阅读