私はここを見てみました:http ://wiki.openqa.org/display/WTR/JavaScript+Pop+Ups
すべてのソリューションは、Windows上のIE向けです。MacでFirefoxを使用しています。JavaScriptアラートボックスの[OK]をクリックする方法はありますか?
私はここを見てみました:http ://wiki.openqa.org/display/WTR/JavaScript+Pop+Ups
すべてのソリューションは、Windows上のIE向けです。MacでFirefoxを使用しています。JavaScriptアラートボックスの[OK]をクリックする方法はありますか?
アラートとプロンプトの適切な処理は、WebDriver でまだ作業中ですが、一般的な回避策は、execute_script() を使用してウィンドウ関数を上書きすることです。
browser.execute_script("window.alert = function(msg) { window.lastAlert = msg; }")
browser.button(:id => "trigger-alert").click
browser.execute_script("return window.lastAlert") #=> "the message"
たくさんのモンキー パッチが飛び交うのを避けたいので (Watir コミュニティではよくある問題です)、オプションの require としていくつかのヘルパー メソッドを追加しました。
require "watir-webdriver/extensions/alerts"
browser.alert do
browser.button(:id => "alert").click
end #=> "the alert message"
browser.confirm(true) do
browser.button(:id => "confirm").click
end #=> "the confirm message"
browser.prompt("returned value") do
browser.button(:id => "prompt").click
end #=> { :message => "foo", :default => "bar" }
これは一時的なものであり、WebDriver で問題が解決されたときに API が削除される可能性があることに注意してください。
アップデート:
適切なアラート処理が実装されました。上記の例は、次のようになります。
browser.button(:id => "alert").click
browser.alert.ok
browser.button(:id => "confirm").click
browser.alert.ok # or browser.alert.close
browser.button(:id => "prompt").click
alert = browser.alert
alert.text #=> "foo"
alert.ok