什么可以watir的新“警报API”实际上做什么?

时间:2012-08-27 15:11:07

标签: watir

我刚看到新的Watir版本(3.1.0)具有“支持Alert API”。我可以用这个API实际做些什么?

是否意味着处理javascript弹出窗口?如果是这样,我可以使用什么命令在弹出窗口中单击“确定”?或者如何阅读标题&弹出窗口的文字?

我在将Watir更新为3.1.0之后尝试了“browser.alert.ok”,但只是收到了一些错误消息......

(目前还没有关于此的明确文档,试图解释源代码不是我最强的一面......)

2 个答案:

答案 0 :(得分:2)

Alert API用于处理JavaScript弹出窗口。

browser.alert.ok应该有效。你能提供错误信息吗?

我不确定获取弹出标题,但您可以使用browser.alert.text获取文字

更多信息:http://watir.github.io/docs/javascript-dialogs/

答案 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

c:0001 p:0000 s:0002 b:0002 l:00043c d:00043c TOP

- 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以不寻常的方式终止它。 请联系应用程序的支持团队以获取更多信息。