Watir-webdriver - 强制firefox关闭

时间:2012-10-03 23:22:50

标签: ruby watir-webdriver

我是watir-webdriver的常用用户。一个梦幻般的宝石,但我对浏览器的问题越来越多,新的关闭。我运行一个ubuntu机器,它处理一些后台任务,通过watir webdriver启动firefox浏览器。当计算机已经运行了几个小时,通常处理超过100个作业,然后uncloses浏览器开始成为一个问题。他们占用了记忆,最终堵塞了计算机,迫使我重新启动。

即使我做了类似的事情,也会出现问题:

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

知道我能做些什么来解决它?有没有办法确保在发生异常时强制退出进程?我怎么调试呢?

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

BTW ruby​​ 1.9.3,ubuntu 12.04 watir-webdriver 0.6.1

2 个答案:

答案 0 :(得分:2)

试试这个:

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

答案 1 :(得分:0)

您可能需要调查无头解决方案,例如headless gemCelerity

无头宝石仍然可以驱动浏览器,而不是显示器。然而,Celerity包含HTMLUnit,这是一个具有良好javascript支持的虚拟浏览器。我一直在使用Celerity来运行自动化测试,它一直很强大。主要的警告是它只是JRuby。

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