我的印象是这是人们在使用Selenium时遇到的一个常见问题,但却惊讶于只找到this question。这个问题只涉及旧版本的Selenium,并建议放置原始的“睡眠等待”,这对我来说迄今为止没有用。
我可以在following blog post详细了解我的问题。
简单地说,当我在看似零星的时候用Selenium WebDriver进行远程测试时,我得到了一些停滞不前的测试。通过停止我的意思是浏览器窗口关闭,驱动程序(在这种情况下为IEDriverServer)无限期地继续运行,直到它被手动杀死。
希望我想知道是否有人找到了解决方法?我需要WebDriver进程在第一次出现' no url '异常时被杀死,或者完全避免它。目前浏览器关闭,但驱动程序挂起,直到通过远程连接手动关闭。
其他一些可能有用的信息:
- 测试通常在 IE7 上运行,有时 IE8 (似乎在7上更频繁地停止,但这可能只是巧合,我可以'用数据来支持。
- Stalling发生在从构建到构建的不同测试中,但那些停顿的是整个测试套件的子集。
- 我正在 XP客户端计算机上运行我的测试,该计算机正在 Windows 2008 R2服务器上访问我们部署的页面。这些计算机位于实验室管理环境(2010) 中。
- 有一段时间我没有接受任何测试。但是,由于没有对解决方案进行检查,测试已经开始间歇性停止。
- 我正在 C#编写测试,并使用 Selenium .NET Bindings , WebDriver 2.28.0 和 IEDriverServer .EXE 即可。
- 使用QTAgent.exe进程通过客户端上的TestAgent运行测试,该进程与测试控制器进行通信。
我尝试过的一些关键事项:
- 实现了一个javascript错误检测器,它将向日志报告(在停止的测试中为空)。
- 对元素的所有操作都在waitForElementToExist调用之前(最多5秒)。
- 测试不会在本地停止。
- 额外的睡眠等待测试中看似有问题的区域。
- 娱乐环境。
或者,如果没有直接的解决方法来阻止测试停止,那么一个会导致测试失败的解决方案也会受到欢迎。