3

私は、私たちの製品の1つに対して自動テストフレームワークを構築しようとしています。一部のテストケースでは、モーダルダイアログで自動化を実行します。ただし、モーダルダイアログはUIAutomationコードの実行をブロックします。つまり、UIAutomationでモーダルダイアログを開いた場合、モーダルダイアログを閉じるまで何も起こりません。

モーダルダイアログが表示されたときにUIAutomationコードを実行するために、モーダルダイアログが開いたときにキャッチするwindowopenedeventハンドラーを登録しようとしました。これにより、windowopenedeventハンドラー内で残りのテストを実行できます。ただし、ハンドラーはイベントをまったくキャッチしていません。何が悪いのかわかりません、何か提案はありますか?

このシナリオの他の回避策も歓迎します。

4

1 に答える 1

2

通常はブラウザのテストで、これに数回遭遇しました。

私がやったことはこれです:

>> before taking the action that causes the modal dialog to show up:
   >> start another thread (OR) launch a script asynchrounously
   >> then take the action

>> In the other thread or script:
    >> Sleep for 5 seconds or so
    >> Activate the dialog
    >> send keystrokes or call UI auto methods to dismiss the dialog

ダイアログが閉じられると、テストのブロックが解除されます。

これは常に私のために働いています。

于 2012-10-30T19:10:42.500 に答える