次の方法で共有


方法: コード化された UI テストを作成する

Visual Studio Premium または Visual Studio Ultimate を使用して、コード化された UI テストを作成できます。このテストでは、アプリケーションのユーザー インターフェイスが正しく機能することをテストできます。 コード化された UI テストによって、アプリケーションのユーザー インターフェイス コントロールで操作が実行され、正しいコントロールが正しい値で表示されることが検証されます。 コード化された UI テストでサポートされているプラットフォームおよび構成の詳細については、「コード化された UI テストと操作の記録でサポートされている構成とプラットフォーム」を参照してください。

コード化された UI テストを作成すると、そのテストに固有の UIMap オブジェクトが生成され、UI 内にあるかテスト記録中に作成されたウィンドウ、コントロール、パラメーター、およびアサーションを表します。 このため、これらの UI オブジェクトで操作を実行して、ユーザー インターフェイスを自動化できます。 たとえば、テスト メソッドで Web アプリケーションのハイパーリンクのクリックやテキスト ボックスへの値の入力を実行したり、フィールドの値に基づいて分岐して別のテスト操作を行ったりすることができます。

注意

大規模なアプリケーションのテストを容易にするために、複数のコード化された UI テストと複数の UI マップ オブジェクトおよびファイルを追加できます。 詳細については、「複数の UI マップでの大規模アプリケーションのテスト」を参照してください。

コード化された UI テスト クラスは、クラスに適用される CodedUITestAttribute によって識別されます。

コード化された各 UI テストは、コード化された UI テスト クラスのテスト メソッドです。 複数のテスト メソッドをコード化された各 UI テスト クラスに追加し、TestMethodAttribute を使用して、コード化された各 UI テスト メソッドを識別できます。

また、テスト メソッドでは、UI テストのコントロールの検証コードを追加して UI テストのコントロールのプロパティ値を取得することもできます。 このテスト メソッドで Assert ステートメントを使用すると、プロパティの実際の値を、期待される値と比較できます。 この比較の結果によって、テストの成果が決まります。 コード化された UI テストを実行するたびに、テスト結果を分析できます。また、テストが失敗した場合は、失敗したアサーションの詳細を確認または格納できます。

コード化された UI テストを作成すると、次のファイルがテスト プロジェクトに追加されます。

ファイル

説明

CodedUITest1.cs

コード化された UI テスト クラス、テスト メソッド、アサーションが収容されています。

UIMap.uitest

すべてのウィンドウ、コントロール、プロパティ、メソッド、パラメーター、アクション、およびアサーションを含む、UIMap クラスの XML モデルが収容されています。

UIMap.Designer.cs

UIMap.uitest ファイルに含まれている XML のコード表現が収容されています。 このファイルは編集しないでください。

UIMap.cs

UIMap クラスのコードなどが収容されています。 このファイルの UI マップは自由にカスタマイズできます。

次のアセンブリは、参照としてテスト プロジェクトに追加されます。

  • Microsoft.VisualStudio.QualityTools.CodedUITestFramework

  • Microsoft.VisualStudio.QualityTools.UnitTestFramework

  • Microsoft.VisualStudio.TestTools.UITest.Common

  • Microsoft.VisualStudio.TestTools.UITest.Extension

  • Microsoft.VisualStudio.TestTools.UITesting

コード化された UI テストを作成するには

コード化された UI テストを作成するには

  1. 次のいずれかのタスクを実行します。

    1. ソリューション エクスプローラーで、テスト プロジェクトを右クリックし、[追加] をポイントして、[コード化された UI テスト] をクリックします。

    2. テスト リスト エディターまたは [テスト ビュー] ウィンドウで、ウィンドウを右クリックして、[新しいテスト] をクリックします。 [新しいテストの追加] ダイアログ ボックスで、[コード化された UI テスト] をクリックし、[OK] をクリックします。

    3. [テスト] メニューの [新しいテスト] をクリックします。 [新しいテストの追加] ダイアログ ボックスで、[コード化された UI テスト] をクリックし、[OK] をクリックします。

    [コードの生成] ダイアログ ボックスが表示されます。

  2. このダイアログ ボックスでは、コード化された UI テストの UI テスト コントロールを作成するために使用する次のメソッドを選択できます。

    メソッド

    アクション

    次の手順

    テスト対象のアプリケーションで操作を記録し、UI マップの修正またはアサーションの追加を実行

    [操作の記録、UI マップの編集、またはアサーションの追加] をクリック

    方法: テスト中のアプリケーションの記録によるコード化された UI テストの生成

    既存の操作の記録を使用

    [既存の操作の記録を使用] をクリックします。

    方法: 操作の記録からコード化された UI テストを生成する

    上記のすべてのメソッドでは、[CodedUITest] 属性を持つコード化された UI テスト クラスがテスト プロジェクトに作成され、このクラスのファイルが開かれます。 このクラスには、[TestMethod] 属性を持つテスト メソッドが追加されます。 ソリューション エクスプローラーには、テスト プロジェクトの新しいテスト ファイルが表示されます。

    注意

    [キャンセル] をクリックすると、コード化された UI テスト クラスも作成されます。 このクラスにコードを手動で追加して、コード化された UI テストを作成できます。 または、[次の手順] 列の手順に従って、表に記載されている他のメソッドを使用できます。

使用例

次のコード例は、Priority1 というテスト カテゴリの値が割り当てられた、コード化された UI テスト クラスとテスト メソッドを示しています。 このテスト メソッドは、2 つの数値を加算する単純な計算アプリケーションを対象としており、2 つの数値が正しく加算され、このテストが成功したことを検証します。

2 つの UI マップ メソッド (AddTwoNumbers() と AssertForAdd()) のコードは、UI マップの編集不可部分にあり、直接編集できません。 ただし、生成されたコードを変更するために UI マップからコピーして、代替または追加のメソッドを CodedUITest1 クラス内に作成できます。 詳細については、「コード化された UI テストのベスト プラクティス」を参照してください。

特定のデータを使用してコード化された UI テストを作成した後、異なるデータのセットを使用してコード化された UI テストを複数回実行して、さまざまな条件をテストできます。 これを行うには、データ ソースからコード化された UI テストにパラメーターを追加して、データ ドリブンのコード化された UI テストを作成します。 詳細については、「方法: データ ドリブンのコード化された UI テストを作成する」を参照してください。

[CodedUITest]
public class CodedUITest1
{
    public CodedUITest1()
    {
    }

    [TestCategory("Priority1"), TestMethod]
    public void CodedUITestMethod1()
    {
        // To generate code for this test, select "Generate Code" from 
        // the shortcut menu and select one of the menu items.
        this.UIMap.AddTwoNumbers();
        this.UIMap.AssertForAdd();
    }
}

参照

参照

UIMap

Assert

概念

自動 UI テストを使用したユーザー インターフェイスのテスト

コード化された UI テストのベスト プラクティス

コード化された UI テストと操作の記録でサポートされている構成とプラットフォーム

その他の技術情報

複数の UI マップでの大規模アプリケーションのテスト