我是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
答案 0 :(得分:2)
试试这个:
begin
b = Watir::Browser.new :firefox, :profile => 'default'
# Goto a few pages
ensure
b.close
end
答案 1 :(得分:0)
您可能需要调查无头解决方案,例如headless gem或Celerity。
无头宝石仍然可以驱动浏览器,而不是显示器。然而,Celerity包含HTMLUnit,这是一个具有良好javascript支持的虚拟浏览器。我一直在使用Celerity来运行自动化测试,它一直很强大。主要的警告是它只是JRuby。
另一种选择是使用更精简的浏览器,例如webkit。