CodedUI で IE モーダル ダイアログ ウィンドウをどのように処理しますか?
コードスニペットをいただければ幸いです
ありがとう
これは、特定のテストに役立つ場合とそうでない場合があります。コードを介してランダムなデータを入力しているテストがあり、何が期待できるかわかりません。場合によっては、このランダム化によって特定のフィールドのダイアログ ボックスが表示されることがあります。
BrowserDialogAction をチェックするコードがありますが、ダイアログが存在しない場合は失敗します。解決策は次のとおりです。
try
{
BrowserWindow browserWindow = new BrowserWindow();
browserWindow.PerformDialogAction(BrowserDialogAction.Ok);
}
catch (Exception)
{
// If a popup does not exists and an error is thrown, continue...
Playback.PlaybackSettings.ContinueOnError = true;
}
これが最善の解決策ではないことは承知していますが、私にとってはうまくいきます。ダイアログが存在しない場合、ダイアログの Lambda およびその他の検索は失敗します。これにより、「OK」ボタンが存在する場合はクリックされます。そうでない場合は、エラーをスローして続行します。
メイン ウィンドウの .HasFocus プロパティが true かどうかを確認することで、モーダル ウィンドウの外観を確認できます。
開いたモーダル ウィンドウをクリックしてテストを記録すると問題なく動作するはずなので、明示的なコードを記述せずにテストを記録して、それを見つけます。