1

我是 watir-webdriver 的常客。一个奇妙的宝石,但我对较新的浏览器关闭的问题越来越多。我运行一个 ubuntu 机器,它处理一些后台任务,通过 watir webdriver 启动一个 firefox 浏览器。当计算机运行几个小时后,通常处理超过 100 个作业,然后打开浏览器开始成为问题。它们占用了内存,最终卡住了计算机,迫使我重新启动。

即使我执行以下操作,也会出现问题:

begin
  b = Watir::Browser.new :firefox, :profile => 'default'
  # Goto a few pages
  b.close
rescue => e
  b.close
  raise e
end

知道我能做些什么来解决它吗?如果发生异常,有没有办法确保进程被迫退出?以及如何调试它?

我经常看到一些超时异常说无法绑定到锁定端口或无法获得稳定的连接。

顺便说一句,红宝石 1.9.3,ubuntu 12.04 watir-webdriver 0.6.1

4

2 回答 2

2

试试这个:

begin
  b = Watir::Browser.new :firefox, :profile => 'default'
  # Goto a few pages
ensure
  b.close
end
于 2012-10-04T10:17:13.227 回答
0

您可能想研究无头解决方案,例如无头 gemCelerity

无头 gem 仍然驱动浏览器,只是不在显示器上。然而,Celerity 封装了 HTMLUnit,它是一个具有良好 javascript 支持的虚拟浏览器。我一直在使用 Celerity 来运行自动化测试,而且它很健壮。主要的警告是它只是 JRuby。

另一种选择是使用更精简的浏览器,例如 webkit。

于 2012-10-03T23:39:32.007 回答