3

新しい Watir バージョン (3.1.0) には「Alert API のサポート」があることを読みました。この API で実際に何ができますか?

JavaScriptポップアップウィンドウを扱うためのものですか? もしそうなら、ポップアップウィンドウで「OK」をクリックするためにどのコマンドを使用できますか? または、ポップアップウィンドウのタイトルとテキストをどのように読むことができますか?

browser.alert.okWatir を 3.1.0 にアップデートしてから" " を試しましたが、エラー メッセージが表示されました...

(これに関する明確なドキュメントはまだありません。また、ソース コードを解釈しようとすることは、私の得意分野ではありません...)

4

2 に答える 2

2

Alert API は、JavaScript ポップアップを処理するためのものです。

browser.alert.ok動作するはずです。エラーメッセージを教えてください。

ポップアップタイトルの取得についてはわかりませんが、テキストを取得できますbrowser.alert.text

詳細: http://watir.github.io/docs/javascript-dialogs/

于 2012-08-27T15:48:32.780 に答える
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: [バグ] セグメンテーション違反 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/gems/rautomation-0.7.2/lib/rautomation/adapter/win_32/functions.rb:319 c:0010 p:0015 s:0038 b:0038 l:0018e4 d:0018e4 メソッド C:/Ruby192/lib/ruby /宝石/1。9.1/gems/rautomation-0.7.2/lib/rautomation/adapter/win_32/functions.rb:200 c:0009 p:0025 s:0033 b:0033 l:000032 d:000032 メソッド C:/Ruby192/lib/ruby /宝石/1。9.1/gems/rautomation-0.7.2/lib/rautomation/adapter/win_32/functions.rb:147 c:0008 p:0035 s:0025 b:0024 l:000023 d:000023 メソッド C:/Ruby192/lib/ruby /宝石/1。9.1/gems/rautomation-0.7.2/lib/rautomation/adapter/win_32/window.rb:247 c:0007 p:0017 s:0020 b:0020 l:000019 d:000019 方法 C:/Ruby192/lib/ruby /宝石/1。9.1/gems/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 /宝石/1。9.1/gems/watir-classic-3.1.0/lib/watir-classic/dialogs/alert.rb:38 c:0004 p:0011 s:0010 b:0010 l:000009 d:000009 メソッド C:/Ruby192/lib /ルビー/宝石/1。9.1/gems/watir-classic-3.1.0/lib/watir-classic/dialogs/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:in <main>' C:/Ruby192/lib/ruby/gems/1.9.1/gems/watir-classic-3.1.0/lib/watir-classic/dialog s/alert.rb:27:inok' C:/Ruby192/lib/ruby/gems/1.9.1/gems/watir-classic-3.1.0/lib/watir-classic/dialog s/alert.rb:38: method_missingのdialog' C:/Ruby192/lib/ruby/gems/1.9.1/gems/rautomation-0.7.2/lib/rautomation/window.rb: 220:inC:/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:inchild_window_locators の C:/Ruby192/lib /ruby/gems/1.9.1/gems/rautomation-0.7.2/lib/rautomation/adapter/win_32/functions.rb:200:in find_hwnd 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' C:/Ruby192/lib/ruby/gems/1.9.1/ gems/rautomation-0.7.2/lib/rautomation/adapter/win_32/functions.rb:319:in `enum_child_windows'

[注] Ruby インタープリターまたは拡張ライブラリーでバグに遭遇した可能性があります。バグ報告は大歓迎です。詳細: http://www.ruby-lang.org/bugreport.html

このアプリケーションは、異常な方法で終了するようランタイムに要求しました。詳細については、アプリケーションのサポート チームにお問い合わせください。

于 2012-08-27T17:11:53.237 に答える