我正在尝试使用弹出窗口。我浏览了网站“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