【问题标题】:Selenium - "Firefox is already running" errorSelenium - “Firefox 已经在运行”错误
【发布时间】:2010-01-04 14:40:17
【问题描述】:

我们正在使用 selenium 运行一些测试。为此,我们有专门的 Windows XP VM,每个 VM 上都有一个 selenium RC 服务器,并且该 VM 上没有运行其他进程。我们为每个测试打开和关闭一个 selenium 会话。测试完成后总是调用 selenium.stop() 。很多时候(我会说 30 分之 1)一个测试挂起,当我查看已分配给它的机器的桌面时,我看到一个弹出窗口“Firefox 已经在运行,但没有响应。打开一个新窗口,您必须先关闭现有的 Firefox 进程,或重新启动系统。”

  • 我确信只有一个测试可以通信 在给定时间使用虚拟机
  • 所有测试确保在完成后停止()硒。
  • 我们有非常详细的日志记录,并且 日志显示没有任何测试 考试前的问题 “firefox 已在运行”错误。
  • 出现此错误的测试是 任意的,因为它发生正确 在调用 selenium.start() 和 因此不是由任何特定的 代码。
  • 所有测试的拆解都是相同的

这可能是什么原因造成的,我该如何预防?

【问题讨论】:

  • 附加问题:是 same 测试一直导致问题,还是不同的问题?这个测试在做什么(你能粘贴代码吗)?它是否在做任何不寻常或与其他测试不同的事情?此测试的拆解设置是否有不同或不寻常的作用?

标签: firefox testing selenium


【解决方案1】:

当 Selenium 运行您的集成测试时,它实际上是为每个测试启动一个新的 Firefox 副本。如果测试卡住并且现有的 Firefox 副本使用相同的配置文件运行,它将无法启动下一个。 (这是 Firefox 的限制,而不是 Selenium 的限制。)您应该确保:

  • 您的拆卸方法是每次使用Selenium.stop 关闭浏览器
  • 您使用超时和WaitFor*() 方法来限制测试可以花费在执行其指令上的时间
  • 您正在使用一个单独的配置文件运行 Selenium(如果您没有更改任何设置,您应该自动获得此配置文件),这与机器上可能已经存在的任何其他 Firefox 配置文件不同

【讨论】:

  • 我认为你的意思是 selenium.stop(),不是吗?另外,我正在积极监控测试 - 它正在调用 stop(),它没有徘徊,正如你所说,我 希望 确实如此,因为除了 selenium 之外没有任何东西在该机器上运行,该机器上没有其他 Firefox 配置文件
  • 对不起,是的,我的意思是stop()。另外,你能描述一下正在发生的事情的生命周期吗? 每个新的测试都会以这种方式爆炸,还是仅在某些测试后才会发生?在什么情况下会发生这种情况?这是在 Windows 虚拟机上吗? (编辑您的原始问题,以便人们提供帮助。)
  • 我已尽我所能编辑了我的问题,如果我遗漏了更多数据,请告诉我。另外,我认为这使您当前的答案无关紧要(因为您建议的方案是不可能的)
【解决方案2】:

也许尝试将环境变量 MOZ_NO_REMOTE 设置为 1(或使用 -no-remote 开关)。

【讨论】:

  • 听起来很有趣。您能否详细说明为什么应该修复错误?
  • 老实说,我不知道为什么会这样——只是它在过去为我解决了同样的问题。 MozillaZine 知识库上的这个页面似乎是信息量最大的页面kb.mozillazine.org/…
  • 这似乎解决了这个问题:Firefox 无法启动,因为已经有一个使用相同配置文件运行的实例,此选项强制 ff 使用新配置文件启动一个新进程
【解决方案3】:

我们发现,在我们的案例中,造成这种情况的原因与 selenium 完全无关 - firefox 本身只是遇到了问题,因为它在没有足够 CPU 和/或 RAM 的机器上运行。我们升级了虚拟机(例如增加了更多的 RAM 和 CPU),问题几乎完全消失了。

【讨论】:

  • 我得到了同样的错误,尽管我有 6 GB 的 RAM 和空闲的四核 CPU。
  • @Damian Nowak - 当 Firefox 打开太快而没有足够时间删除 selenium 创建的临时配置文件时,也可能发生这种情况......这是我唯一的另一个猜测......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-10
  • 2020-06-18
  • 2011-08-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多