次の方法で共有


方法: データ ドリブンのコード化された UI テストを作成する

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

指定されたデータを使用してコード化された UI テストを作成した後、コード化された UI テストを異なるデータのセットを使用して複数回実行し、さまざまな条件をテストできます。 これを行うには、データ ソースからパラメーター値を追加して、データ ドリブンのコード化された UI テストを作成します。 データ ソース内の各行は、コード化された UI テストのイテレーションです。 テストの総合結果は、すべてのイテレーションの結果に基づいています。 たとえば、1 つのテスト イテレーションが失敗すると、テスト全体の結果は失敗します。

データ ドリブン テストの一般的な情報については、「方法: データ ドリブン単体テストを作成する」を参照してください。

コード化された UI テストのメソッドまたはアサーションを記録することで生成すると、記録されたメソッド内で参照されているすべての定数がパラメーター クラスにパラメーター化されます。 たとえば、AddTwoNumbers という名前のメソッドを追加した場合、コード化された UI テスト フレームワークは AddTwoNumbersParams という名前の別のクラスを生成し、メソッドの記録時に使用した各定数値のこのクラスにフィールドを追加します。 AssertForAdd という名前のアサーション メソッドを生成した場合、フレームワークは、必要となる値に対して AssertforAddExpectedValues という名前のクラスを追加します。 これらのクラスは自動的に生成され、以下の手順で使用されます。

パラメーター用のデータ ソースをテストで使用できるようにするためのすべての変更は、テストのソース コード ファイル ( CodedUITest1.cs). UIMap.Designer.cs ファイルのコードは変更できません。

コード化された UI テストを作成したら、以下の手順に従って、データ ソースとパラメーターをテストに追加できます。 この例は、ソリューションに次のコード要素があることを前提としています。

  • CodedUITest1. という名前のコード化された UI テスト クラス

  • CodedUITestMethod1(). という名前のテスト メソッド

このテスト メソッドは、2 つの数値を加算する単純な計算アプリケーションを対象としており、2 つの数値が正しく加算され、このテストが成功したことを検証します。

データ ソースは、次のデータが含まれる .csv ファイルです。

Input1

Input2

ExpectedResult

3

4

7

5

6

11

1200

24000

25200

ファイルを作成し、テスト プロジェクトに追加します。

データ ドリブンのコード化された UI テストの作成

データ ドリブンのコード化された UI テストを作成するには

  1. ソリューション エクスプローラーで、テスト プロジェクトを含むソリューションを開きます。

  2. [テスト] メニューをクリックし、[ウィンドウ] をポイントし、次に [テスト ビュー] をクリックします。

    [テスト ビュー] ウィンドウに、コード化された UI テストが表示されます。

  3. [テスト ビュー] ウィンドウで、コード化された UI テスト メソッドを右クリックし、[プロパティ] をクリックします。

    [プロパティ] ウィンドウが開きます。

  4. コード化された UI テストに使用するデータ ソースを選択するには、[プロパティ] ウィンドウの [データ接続文字列] の右にある省略記号ボタン (…) をクリックします。

    テスト データ ソース作成ウィザードが開きます。

  5. 使用するデータ ソースの種類を選択します。 この例では、.csv データ ソースの種類を選択します。 [次へ] をクリックし、.csv ファイルのパスとファイル名を入力して [完了] をクリックします。

    これで、このテスト メソッドでデータ ソースを使用できるようになります。 TestContext.DataRow を使用すると、データ ソースからデータの現在の行にアクセスできます。 各行にアクセスするには、次の構文を使用します。

    string paramVal = TestContext.DataRow["Input1"]
    
  6. ソリューション エクスプローラーで、CodedUITest1.cs ファイルを開きます。 CodedUITestMethod1() メソッドに対して、次の変更を行います。

    1. AddTwoNumbers メソッドを呼び出す前に次のコードを 2 行追加して、追加する番号の値を入力します。

      this.UIMap.AddTwoNumbersParams.TextInput1EditText = 
          TestContext.DataRow["Input1"].ToString();
      this.UIMap.AddTwoNumbersParams.TextInput2EditText = 
          TestContext.DataRow["Input2"].ToString();
      
    2. AssertforAdd メソッドを呼び出す前に次のコードを追加して、Assert メソッドの値を入力します。

      this.UIMap.AssertforAddExpectedValues.TextAnswerEditText = 
          TestContext.DataRow["ExpectedResult"].ToString();
      

      コード化された UI テスト メソッドは、パラメーターとデータ ソースを追加すると次のようになります。

      [DeploymentItem("DataDriven.csv"), 
          DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", 
              "|DataDirectory|\\DataDriven.csv", "DataDriven#csv", 
              DataAccessMethod.Sequential), 
          TestMethod]
      public void CodedUITestMethod1()
      {
          // To generate code for this test, select "Generate Code for 
          // Coded UI Test" from the shortcut menu and select one of 
          // the menu items.
          this.UIMap.AddTwoNumbersParams.TextInput1EditText = 
              TestContext.DataRow["Input1"].ToString();
          this.UIMap.AddTwoNumbersParams.TextInput2EditText = 
              TestContext.DataRow["Input2"].ToString();
          this.UIMap.AddTwoNumbers();
      
          this.UIMap.AssertforAddExpectedValues.TextAnswerEditText = 
              TestContext.DataRow["ExpectedResult"].ToString();
          this.UIMap.AssertforAdd();
      }
      
  7. CodedUITest1.cs ソース コード ファイルへの変更を保存します。

  8. コード化された UI テストを実行するには、[テスト ビュー] ウィンドウでコード化された UI テストを右クリックし、[選択範囲の実行] をクリックします。

    テストを実行した後、[テスト結果] ウィンドウに、すべてのイテレーションの全体のテスト結果が表示されます。 各イテレーションの詳細を確認するには、[テスト結果] ウィンドウでテストをダブルクリックします。

参照

処理手順

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

参照

UIMap

Assert

概念

方法: データ ドリブン単体テストを作成する

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

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

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