Firefox浏览器的Watir脚本超时问题

时间:2013-01-07 01:51:15

标签: ruby watir watir-webdriver

我是Watir的新手,基于AJAX的webapp我有这种奇怪的情况。应用程序可能会在页面上呈现通知窗口。此通知是基于JS的模态窗口。如果我点击或鼠标悬停通知它就会消失..所以在我的脚本的某个地方我有:

@browser = Watir::Browser.new :firefox
...
notf = notification
notf.click if notf

获取通知的方法是:

def notification
  if browser.div(:class => "popupContent").present?
    Notification.new(browser.div(:class => "popupContent"))
  end
end

脚本在IE和Chrome上正常运行,但在Firefox上我得到60秒后'ifout:错误'为if语句..当我以这种方式更改代码时:

def notification
  begin
    browser.div(:class => "popupContent").wait_until_present(1)
    Notification.new(browser.div(:class => "popupContent"))
  rescue Exception 
    puts "timeout..."
  end
end

Chrome和IE工作正常工作正常 - 只是在没有通知的情况下加起来延迟1秒..但Firefox仍然有60秒的超时以防通知不存在?!?我做错了什么 - 我是否需要设置/检查一些Firefox设置? 我有这个配置: - 使用Firefox 17.0.1的Win7 OS - Ruby 1.9.3p125 - watir-webdriver(0.6.1) - selenium-webdriver(2.26.0)

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

如评论中所述,解决方案是升级到最新版本的selenium-webdriver(2.27.2)。

相关问题