テスト スクリプト ジェネレーターのサンプル
[このドキュメントはプレビュー版であり、後のリリースで変更されることがあります。 空白のトピックは、プレースホルダーとして挿入されています。]
このサンプルでは、Microsoft UI オートメーション コントロール パターンおよびイベントを使用して、自動テストのシナリオ用のテスト スクリプトを生成する方法を示します。 テスト スクリプト ジェネレーターは、ユーザーによるターゲット アプリケーションのユーザー インターフェイス (UI) の操作を追跡し、目的の要素およびイベントを保存します。
要素および関連付けられているすべてのイベントに関する情報は、一般的なレコード クラス (UIAEventRecord.cs) に保存されます。 この一般情報およびスクリプトは、どちらも、後の分析またはテスターによる変更のためのプレーン テキストとしてダンプすることができ、生成されるスクリプトの場合は、後で再生するために使用できます。
このようなイベント ベースのアプリケーションには固有の制限があり、ユーザー インターフェイス (UI) でのユーザーの直接入力または間接入力の結果である変更を区別できません。 たとえば、このサンプルのターゲット アプリケーションは相互依存する 3 つのコントロールを含み、1 つのコントロールでのユーザー操作によって他のコントロールもそれぞれ変更されます。
注意
このサンプルで扱われている UI オートメーションおよび自動テストのシナリオは、アプリケーションまたはコントロールの開発者とテスターとの間でのコントラクトを必要とします。つまり、生成されるスクリプトを一貫して実行できるかどうかは、操作するターゲット UI が静的で予測可能であることに依存します。この点では、UI オートメーションを、任意のアプリケーションの操作およびコントロールの操作についての記録と後の再生を必要とするシナリオへのソリューションと見なすことはできません。
"ブラインド" な記録と再生が非実用的になる一般的なケースとして、AutomationId プロパティなどの一意の識別子を要素が持たない場合、または Windows タスク マネージャー ダイアログ ([プロセス] タブや [アプリケーション] タブに一覧表示される項目はシステムの状態に依存する) などのように UI が動的で予測不能な場合があります。再生中に特定の要素を配置することは、これらのインスタンスでは事実上できません。
このサンプルでは、Windows Presentation Foundation (WPF) の特定の機能を示します。そのため、アプリケーション開発のベスト プラクティスに従っていません。 Windows Presentation Foundation (WPF) と Microsoft .NET Framework のアプリケーション開発ベスト プラクティスの包括的な説明については、適宜、次のトピックを参照してください。
ユーザー補助 - 「ユーザー補助のベスト プラクティス」
セキュリティ - 「Windows Presentation Foundation Security」
ローカリゼーション - 「WPF Globalization and Localization Overview」
サンプルのビルド
このサンプルは、次の 3 つのプロジェクトで構成されます。
ScriptGeneratorClient は、このサンプルでスクリプト生成機能を提供し、ターゲット アプリケーションは、クライアントの UI から起動されます。
ScriptGeneratorTarget は、クライアント アプリケーションにターゲット UI を提供します。
ExecuteScript は、このサンプルでスクリプト実行機能を提供し、ターゲット アプリケーションは、クライアントの UI から起動されます。 このプロジェクトは、スクリプトが生成され、script.cs ファイルにコピーされた後、手動で実行します。
Windows ソフトウェア開発キット (SDK) をインストールして、そのビルド環境のコマンド ウィンドウを開きます。[スタート] メニューの [すべてのプログラム]、[Microsoft Windows SDK] の順にポイントし、[CMD シェル] をクリックします。
サンプルをハード ディスク ドライブにダウンロードします。通常は、ソフトウェア開発キット (SDK) のドキュメントからダウンロードします。
ビルド環境のコマンド ウィンドウからサンプルをビルドするには、サンプルのソース ディレクトリに移動します。コマンド プロンプトで「MSBUILD」と入力します。
Microsoft Visual Studio でサンプルをビルドするには、サンプル ソリューションかプロジェクト ファイルを読み込んで、Ctrl キーと Shift キーを押しながら B キーを押します。
スクリプトの生成
コンパイルしたサンプルをビルド環境のコマンド ウィンドウから実行するには、サンプルのソース コード フォルダーの下にある Bin\Debug または Bin\Release フォルダーで .exe ファイルを実行します。
コンパイルしたサンプルを Visual Studio でデバッグしながら実行するには、F5 キーを押します。
注意
これは、ScriptGenerator クライアント アプリケーションを起動します。ターゲット アプリケーションは、クライアントによって起動されます。
スクリプトの実行
クライアント アプリケーションおよびターゲット アプリケーションを閉じます。
ExecuteScript プロジェクトの Script.cs ファイルを開きます。
既存のコードを選択し、生成されたスクリプトを貼り付けます。
ExecuteScript プロジェクトをビルドして実行します。
注意
これは、ExecuteScript クライアント アプリケーションを起動します。ターゲット アプリケーションは、クライアントによって起動されます。