JavaScript のアラートや確認のメッセージは GeneXus アプリケーションではあまり見られませんが、このようなダイアログを処理する必要がある場合は、次のコマンドを使用します。
警告: GXtest Recorder のアラート処理モデルは少し異なります (アラートの受け入れまたは無視のコマンドを、アラートが表示される前に実行する必要があります)。これらのコマンドの動作を理解するために、
例を実行してみてください。
注: IE では、実行中に 2 つ以上のアラートが表示されると、IE がアラートのコンテンツをブロックし、実行が想定どおりに継続されません。この問題を回避するには、テスト対象のサイトを Internet Explorer のオプションで信頼済みサイトに登録する (
[ インターネットオプション ] > [ セキュリティ ] > [ 信頼済みサイト ] > [ サイト ] > [ 追加 ] ) 必要があります。
アラートまたは確認のメッセージを受け入れます。
戻り値: なし
使用例:
&driver.AlertAccept()
アラートまたは確認のメッセージを無視します。
戻り値: なし
使用例:
&driver.AlertDismiss()
アラートまたは確認のメッセージを取得します。
戻り値: アラートまたは確認のメッセージ
使用例:
//アラートのテキストを取得し、アサーションを使用して値を確認
AssertStringEquals(&driver.GetAlertText(), "Are you sure?", "unexpected alert text")
//WebDriver を起動
&driver.Start()
&driver.Maximize()
//アラートおよび確認のメッセージを処理する Web ページを開く
&driver.Go("https://the-internet.herokuapp.com/javascript_alerts")
//アラートを開いてその内容を受け入れ、結果を確認
&driver.ClickByCSS("button")
AssertStringEquals("I am a JS Alert",&driver.GetAlertText(), "Unexpected alert text")
&driver.AlertAccept()
AssertStringEquals("You successfully clicked an alert",&driver.GetTextByID("result"),"alert was not accepted")
//確認ダイアログを開いてその内容を受け入れ、結果を確認
&driver.ClickByXPath("//button [ @onclick='jsConfirm()' ] ")
AssertStringEquals("I am a JS Confirm",&driver.GetAlertText(), "Unexpected confirmation text")
&driver.AlertAccept()
AssertStringEquals("You clicked: Ok",&driver.GetTextByID("result"),"message was not confirmed")
//確認ダイアログを開いてその内容を無視し、結果を確認
&driver.ClickByXPath("//button [ @onclick='jsConfirm()' ] ")
AssertStringEquals("I am a JS Confirm",&driver.GetAlertText(), "Unexpected confirmation text")
&driver.AlertDismiss()
AssertStringEquals("You clicked: Cancel",&driver.GetTextByID("result"),"message was not canceled")
&driver.End()