我是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)
感谢您的帮助!
答案 0 :(得分:1)
如评论中所述,解决方案是升级到最新版本的selenium-webdriver(2.27.2)。