我刚看到新的Watir版本(3.1.0)具有“支持Alert API”。我可以用这个API实际做些什么?
是否意味着处理javascript弹出窗口?如果是这样,我可以使用什么命令在弹出窗口中单击“确定”?或者如何阅读标题&弹出窗口的文字?
我在将Watir更新为3.1.0之后尝试了“browser.alert.ok
”,但只是收到了一些错误消息......
(目前还没有关于此的明确文档,试图解释源代码不是我最强的一面......)
答案 0 :(得分:2)
Alert API用于处理JavaScript弹出窗口。
browser.alert.ok
应该有效。你能提供错误信息吗?
我不确定获取弹出标题,但您可以使用browser.alert.text
获取文字
答案 1 :(得分:0)
browser.alert.ok应该可以使用。你能提供错误信息吗?
不确定。首先,这是我使用的Watir代码:
require 'watir'
b = Watir::Browser.start "www.w3schools.com/js/tryit.asp?filename=tryjs_alert"
b.maximize
b.frame(:name, "view").button(:text, "Show alert box").click_no_wait
sleep 2
b.alert.ok
以下是错误消息:
C:/Ruby192/lib/ruby/gems/1.9.1/gems/rautomation-0.7.2/lib/rautomation/adapter/wi n_32 / functions.rb:319:[BUG]分段错误 ruby 1.9.2p290(2011-07-09)[i386-mingw32]
- 控制框架---------- c:0012 p:---- s:0052 b:0052 l:000051 d:000051 CFUNC:enum_child_windows c:0011 p:0065 s:0046 b:0046 l:002478 d:002478方法C:/ Ruby192 / lib / ruby / gems / 1。 9.1 /宝石/ rautomation-0.7.2 / LIB / rautomation /适配器/ win_32 / functions.rb:319 c:0010 p:0015 s:0038 b:0038 l:0018e4 d:0018e4方法C:/ Ruby192 / lib / ruby / gems / 1。 9.1 /宝石/ rautomation-0.7.2 / LIB / rautomation /适配器/ win_32 / functions.rb:200 c:0009 p:0025 s:0033 b:0033 l:000032 d:000032方法C:/ Ruby192 / lib / ruby / gems / 1。 9.1 /宝石/ rautomation-0.7.2 / LIB / rautomation /适配器/ win_32 / functions.rb:147 c:0008 p:0035 s:0025 b:0024 l:000023 d:000023方法C:/ Ruby192 / lib / ruby / gems / 1。 9.1 /宝石/ rautomation-0.7.2 / LIB / rautomation /适配器/ win_32 / window.rb:247 c:0007 p:0017 s:0020 b:0020 l:000019 d:000019方法C:/ Ruby192 / lib / ruby / gems / 1。 9.1 /宝石/ rautomation-0.7.2 / LIB / rautomation / window.rb:220 c:0006 p:---- s:0015 b:0015 l:000014 d:000014完成 c:0005 p:0079 s:0013 b:0013 l:000012 d:000012方法C:/ Ruby192 / lib / ruby / gems / 1。 9.1 /宝石/的Watir-经典3.1.0 / LIB /的Watir经典/对话框/ alert.rb:38 c:0004 p:0011 s:0010 b:0010 l:000009 d:000009方法C:/ Ruby192 / lib / ruby / gems / 1。 9.1 /宝石/的Watir-经典3.1.0 / LIB /的Watir经典/对话框/ alert.rb:27 c:0003 p:0107 s:0007 b:0007 l:00043c d:0018c0 EVAL C:/watir_testit/pop.rb:6 c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
- Ruby级别回溯信息----------------------------------------
C:/watir_testit/pop.rb:6:在<main>'
C:/Ruby192/lib/ruby/gems/1.9.1/gems/watir-classic-3.1.0/lib/watir-classic/dialog
s/alert.rb:27:in
ok'
C:/Ruby192/lib/ruby/gems/1.9.1/gems/watir-classic-3.1.0/lib/watir-classic/dialog
s / alert.rb:38:in dialog'
C:/Ruby192/lib/ruby/gems/1.9.1/gems/rautomation-0.7.2/lib/rautomation/window.rb:
220:in
method_missing'
C:/Ruby192/lib/ruby/gems/1.9.1/gems/rautomation-0.7.2/lib/rautomation/adapter/wi
n_32 / window.rb:247:在child'
C:/Ruby192/lib/ruby/gems/1.9.1/gems/rautomation-0.7.2/lib/rautomation/adapter/wi
n_32/functions.rb:147:in
child_window_locators'中
C:/Ruby192/lib/ruby/gems/1.9.1/gems/rautomation-0.7.2/lib/rautomation/adapter/wi
n_32 / functions.rb:200:in control_hwnd'
C:/Ruby192/lib/ruby/gems/1.9.1/gems/rautomation-0.7.2/lib/rautomation/adapter/wi
n_32/functions.rb:319:in
find_hwnd'
C:/Ruby192/lib/ruby/gems/1.9.1/gems/rautomation-0.7.2/lib/rautomation/adapter/wi
n_32 / functions.rb:319:在`enum_child_windows'
[注] 您可能在Ruby解释器或扩展库中遇到了错误。 欢迎提供错误报告。 有关详细信息:http://www.ruby-lang.org/bugreport.html
此应用程序已请求Runtime以不寻常的方式终止它。 请联系应用程序的支持团队以获取更多信息。