単体テスト機能だけでは、人の操作を完全に把握してテストできないため、VS2010には自動UI(User Interface)テストという機能が搭載されています。自動UIテストは、ユーザーがアプリケーションを利用した際のキーボードやマウスの動きをキャプチャーします。その記録を再生して、同じ操作を繰り返してテストできる機能です。VS2010で初めて搭載された機能なので、手順を追って使い方を覚えると共に、制約事項についても知っておきましょう。

操作を記録して実行する「自動UIテスト」

 まずは、ソリューションに新しくテストプロジェクトを用意してください。ソリューション エクスプローラーでソリューションのコンテキストメニューから「追加」→「新しいプロジェクト」を選択し、テストプロジェクトのテンプレートから新しくプロジェクトを追加します*3。ここでは、前回の図2で作成したテストプロジェクトを例に説明します。

 ソリューション エクスプローラーにあるテストプロジェクトのコンテキストメニューから「追加」→「コード化されたUIテスト」を選択して、新しいテストを追加します。ラジオボタンがある図6のダイアログが表示されます。そのまま「操作の記録、UIマップの編集、またはアサーションの追加」を選択し、「OK」を押してください。

図6●「コード化されたUIテストのコードの生成」画面
図6●「コード化されたUIテストのコードの生成」画面

 すると図7のように、画面右下にUIテストビルダーが表示されます。ウィンドウ左側にある赤い丸ボタンの「記録の開始」を押した後に、UI操作が必要なテストを実施します。

図7●「コード化されたUIテスト ビルダー」の表示
図7●「コード化されたUIテスト ビルダー」の表示

 例えば(1)先に作成した簡易電卓を起動し、(2)「123+3*6=」と順次クリック、(3)簡易電卓を終了する、という作業を記録するとします。操作が終了したらUIテストビルダーの「記録の一時停止」を選択して、記録操作を終了します。そして、同じウィンドウで「記録されたステップの表示」を選択すれば、図8のように操作で記録された一連の内容を確認できます。

図8●記録された操作の表示
図8●記録された操作の表示
図9●自動UIテストのテストメソッド
図9●自動UIテストのテストメソッド

 ウィンドウの「コードの生成」を選択すれば、(1)~(3)の操作を行う自動UIテストを生成できます。コードの生成ボタンをクリックすると「コード化されたUIテストビルダー」ダイアログが表示されるので、メソッド名を記述します。作成した自動UIテストは、VS2010上では単体テストと同じ扱いで、一つのテストメソッドになります(図9)。

 ただし、テストメソッド内にすべての操作記録が存在するのではなく、ソリューション エクスプローラー上にあるUIMap.uitestの中に、操作を再現するための処理がコードとして書かれています。記録された処理を再生するには、単体テストと同様にテストメソッドのコンテキストメニューから「テストの実行」を選択します。

この先は会員の登録が必要です。有料会員(月額プラン)は登録月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら