我们正在使用 selenium 运行一些测试。为此,我们有专用的 Windows XP VM,每个 VM 上都有一个 selenium RC 服务器,并且该 VM 上没有运行其他进程。我们为每个测试打开和关闭一个 Selenium 会话。测试完成时总是调用 selenium.stop() 。很多时候(我想说的是十分之一)一个测试挂起,当我查看已分配给它的计算机的桌面时,我会看到一个弹出窗口,其中显示“Firefox 已在运行,但没有响应。要打开新窗口时,您必须先关闭现有的 Firefox 进程,或重新启动系统。”
- 我确信只有一个测试可以通信
在给定时间使用虚拟机
- 所有测试都确保在完成后停止() selenium。
- 我们有非常详细的日志记录,并且
日志显示没有测试有任何
测试前遇到的问题
“火狐已经在运行”错误。
- 出现此错误的测试是
任意的,因为它发生是正确的
调用 selenium.start() 后
因此不是由任何特定的原因引起的
代码。
- 所有测试的拆卸都是相同的
可能是什么原因造成的?我该如何预防?
当 Selenium 运行集成测试时,它实际上是为每个测试启动一个新的 Firefox 副本。如果测试陷入困境,并且现有的 Firefox 副本正在使用相同的配置文件运行,它将无法启动下一个测试。 (这是 Firefox 的限制,而不是 Selenium 的限制。)您应该确保:
- 你的拆卸方法是每次关闭浏览器
Selenium.stop
- 你使用超时和
WaitFor*()
限制测试执行指令的时间的方法
- 您正在使用一个单独的配置文件来运行 Selenium(如果您没有更改任何设置,您应该会自动获得该配置文件),该配置文件与计算机上可能已存在的任何其他 Firefox 配置文件不同
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)