我正在嘗試使用彈出窗口。我瀏覽了網站「http://wiki.openqa.org/display/WTR/JavaScript+Pop+Ups」。我通過添加網站解決方案#7中提到的代碼修改了「ie-class.rb」。「調用的對象與客戶端斷開連接」時彈出窗口顯示錯誤消息
另外我曾嘗試下面的例子中提到的:
require 'watir/ie'
require 'win32ole'
iewin = Watir::IE.new
iewin.goto("http://www.w3schools.com/js/tryit_view.asp?filename=tryjs_confirm")
iewin=Watir::IE.attach(:url, /w3schools/)
iewin.bring_to_front
iewin.maximize
iewin.button(:value, "Show a confirm box").click_no_wait
txt = iewin.clickprompt("OK") # waits for popup and click ok
puts txt #prints the popup text
txt1=iewin.clickprompt("OK")
puts txt1
iewin.close
上執行下面的代碼,彈出窗口被處理,但產生以下錯誤:
C:/Ruby192/lib/ruby/gems/1.9.1/gems/watir-1.7.1/lib/watir/ie-class.rb:319:in `method_missing': unknown property or method: `name' (NoMethodError)
HRESULT error code:0x80010108
The object invoked has disconnected from its clients.
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/watir-1.7.1/lib/watir/ie-class.rb:319:in `exists?'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/watir-1.7.1/lib/watir/ie-class.rb:406:in `close'
from popup.rb:50:in `<main>'
Press a button!
You pressed OK!
但是,當我刪除命令「iewin .close「,則不顯示錯誤消息。
「iewin.close」命令關閉瀏覽器,然後watir沒有執行任何操作,爲什麼顯示錯誤消息。
請建議。
謝謝戴夫。 我想問的另一個問題是從Ruby 1.9.2遷移到1.8.7,我的測試 腳本會受到影響,因爲我試圖從最新版本降級到舊版本。 有沒有這樣做的程序或只是刪除現有的1.9.2和 gem文件安裝1.8.7就足夠了。 請建議。 – ajazz 2011-04-12 17:53:09
在另一個目錄中安裝1.8.7,安裝watir gem,確保你的環境變量是最新的,然後運行你的腳本。有一些技術可以同時安裝多個Ruby版本,您可以通過它們進行谷歌搜索。 – 2011-04-13 16:29:14
嘿戴夫,在安裝1.8.7和運行腳本後,我沒有發現這個錯誤信息。謝謝。 – ajazz 2011-04-20 05:01:24