Yoiu は、既存のWindows Automation API を調べることができます: UI Automation、MSDN ドキュメント
ランタイム要件
UI オートメーションは、Windows XP、Windows Server 2003、Windows Server 2003 R2、Windows Vista、Windows 7、Windows Server 2008、および Windows Server 2008 R2 のオペレーティング システムでサポートされています。
単純なテスト スクリプトから堅牢な記録および再生ユーティリティに至るまで、クライアント アプリケーションは、ファイルを開くダイアログやメニュー項目など、現在インスタンス化されていないために UI オートメーション ツリーに存在しない要素へのアクセスを必要とする場合があります。これらの要素は、AutomationID、コントロール パターン、イベント リスナーなどの UI オートメーション プロパティを使用して、ユーザー インターフェイス (UI) アクションの特定のシーケンスを再現または "再生" することによってのみインスタンス化できます。Microsoft UI オートメーションを使用して、ユーザー インターフェイス (UI) とのユーザー インタラクションに基づいてテスト スクリプトを生成する例については、 「テスト スクリプト ジェネレーターのサンプル」を参照してください。
既存の Visual Studio プロジェクト内でAutomationIdPropertyを使用できます。
テスト アプリケーションでの UI オートメーションの実装
UI オートメーション クライアントに必要な UI オートメーション dll の一覧を次に示します。
UIAutomationClient.dll は、UI オートメーション クライアント側 API へのアクセスを提供します。
UIAutomationClientSideProvider.dll は、Win32 コントロールを自動化する機能を提供します。標準コントロールの UI オートメーション サポートを参照してください。
UIAutomationTypes.dll は、UI オートメーションで定義された特定の型へのアクセスを提供します。
- System.Windows.Automation 名前空間を追加します。
この名前空間には、UI オートメーション クライアントが UI オートメーション の機能を使用するために必要な、テキスト処理以外のすべてが含まれています。
- System.Windows.Automation.Text 名前空間を追加します。
この名前空間には、UI オートメーション クライアントが UI オートメーション テキスト処理の機能を使用するために必要なすべてが含まれています。
自動化されたテスト スクリプトは、オートメーション ツリー内の目的のコントロールを表す UI オートメーション 要素を見つけます。
コードを使用して UI オートメーション 要素を取得する方法は複数あります。
Condition ステートメントを使用して UI をクエリします。これは通常、言語に依存しない AutomationIdProperty が使用される場所です。メモ AutomationIdProperty は、コントロールの UI オートメーション プロパティを項目化できる UISpy.exe (UI Spy) などのツールを使用して取得できます。
TreeWalkerクラスを使用して、UI オートメーション ツリー全体またはそのサブセットを走査します。
フォーカスを追跡します。
コントロールの hWnd を使用します。
マウス カーソルの位置など、画面上の位置を使用します。
UI オートメーション要素の取得を参照してください。
コントロール パターンは、機能的に類似したコントロールの一般的な動作を公開します。
テストが必要なコントロールを見つけた後、自動化されたテスト スクリプトは、それらの UI オートメーション要素から目的のコントロール パターンを取得します。たとえば、一般的なボタン機能の InvokePattern コントロール パターンや、ウィンドウ機能の WindowPattern コントロール パターンです。
「UI オートメーション コントロール パターンの概要」を参照してください。
自動化されたテスト スクリプトは、UI オートメーション コントロール パターンによって公開される情報と機能を使用して、UI フレームワークから任意の UI を制御できるようになりました。
関連ツールとテクノロジー
UI オートメーションによる自動テストをサポートする関連ツールやテクノロジは多数あります。
UISpy.exe (UI Spy)は、プロバイダーとクライアントの両方の開発およびデバッグ用の UI オートメーション情報を収集するために使用できるグラフィカル ユーザー インターフェイス (GUI) アプリケーションです。UI Spy は、Windows ソフトウェア開発キット (SDK) に含まれています。
UIAutoCmd は、UI Spy と同様の機能を持つコマンド ライン ツールです。
MSAABridge は、UI オートメーション情報を Active Accessibility クライアントに公開します。UI オートメーションをアクティブ アクセシビリティに橋渡しする主な目的は、既存のアクティブ アクセシビリティ クライアントが、UI オートメーションを実装した任意のフレームワークとやり取りできるようにすることです。安全
セキュリティ情報については、「UI オートメーション セキュリティの概要」を参照してください。