2013-01-07 184 views
2

的Watir腳本超時問題,我是新來的Watir和我有一個基於AJAX的web應用這種怪異的局面。應用程序可能會在頁面上顯示通知窗口。這個通知是基於JS的模式窗口。如果我點擊或將鼠標懸停在通知它消失。所以在我的劇本我的地方有:與Firefox瀏覽器

@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秒得到「超時:錯誤」的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設置嗎? 我有這樣的配置: - Win7操作系統與Firefox 17.0.1 - 紅寶石1.9.3p125 - 的Watir-的webdriver(0.6.1) - 硒的webdriver(2.26.0)

謝謝您的幫助!

+2

你可以嘗試升級到硒的webdriver的最新版本(2.27.2)?我在Firefox 17中遇到了一些問題,最新的selenium-webdriver版本解決了這個問題。 –

+0

謝謝賈斯汀 - 就是這樣!你也可以發佈這個提示作爲我的問題的答案,我會接受它.. – tom

回答

1

正如在評論中提到的,解決的辦法是升級到硒的webdriver的最新版本(2.27.2)。