2009-11-18 40 views
0

我有一個網頁,其中有一個onbeforeunload腳本,用於在用戶執行將從當前頁面導航的操作時提示用戶。如何在Watir測試中點擊onbeforeunload提示符?

如何使用Watir與此彈出窗口進行交互?我目前的方法是這樣的:

$ie.link(:text, 'Dashboard').click_no_wait 

hwnd = $ie.enabled_popup(10) 
assert(hwnd, 'The expected \'leave this page?\' popup was not shown') 

win = WinClicker.new 
win.makeWindowActive(hwnd) 
win.clickWindowsButton_hwnd(hwnd, "OK") 

問題是,如果我使用「單擊不等待」彈出不創建,並且測試超時。如果我使用「單擊」,則彈出窗口被創建,但測試在打開後會掛起。

有什麼建議嗎?

+0

此處的Watir社區很小,您還應該將其發佈到http://groups.google.com/group/watir-general/ – 2009-11-19 10:46:27

回答

0

是否要聲明對話消息?
我嘗試你的代碼,但找不到解決方案。
這是試圖捕捉對話框然後當彈出,得到味精5秒。每1秒輪詢一次。

$ie.link(:text, 'Dashboard').click_no_wait 
@autoit = WIN32OLE.new('AutoItX3.Control') 
    5.times do 
    if @autoit.WinWait('Windows Internet Explorer','',1)==1 then 
     @autoit.WinActivate('Windows Internet Explorer',"") 
     @dialog_text = @autoit.WinGetText('Windows Internet Explorer',"") 
     dialog_pop = "YES" 
     break 
    else 
     sleep(1) 
     dialog_pop = "NO" 
    end 
    end