チュートリアル: Silverlight アプリケーション用のコード化された UI テストを作成、編集、および保守する

Microsoft Microsoft Visual Studio 2010 Feature Pack 2 を使用すると、Silverlight 4 アプリケーションでコード化された UI テストまたは操作の記録を作成できます。 操作の記録により、手動テストのステップを早送りで実行できます。 操作の記録またはコード化された UI テストの詳細については、「方法: 操作の記録を作成する」または「方法: コード化された UI テストを作成する」を参照してください。

このチュートリアルでは、Silverlight ベースのアプリケーションで Silverlight コントロールをテストするために必要な手順について説明します。 ここでは次の手順を実行します。

  • チュートリアルの準備    Silverlight 開発者用ランタイムがインストールされていることを確認し、コード化された UI テストを実行する Silverlight グリッド コントロールを使用する単純な Silverlight アプリケーションを作成します。 この手順については、「チュートリアル: RIA Services ソリューションの作成」を参照してください。

  • Microsoft.VisualStudio.TestTools.UITest.Extension.SilverlightUIAutomationHelper.dll を Silverlight プロジェクトに追加します。

  • コード化された UI テストの作成   Silverlight アプリケーションでコード化された UI テストを作成します。

  • コード化された UI テストの実行   Silverlight アプリケーションでコード化された UI テストが正しく動作するか確認します。

必須コンポーネント

このチュートリアルに必要な条件は次のとおりです。

チュートリアルの準備

チュートリアルを準備するには

  1. Silverlight Developer 4 for Developers からダウンロードした Silverlight 4 開発者用ランタイムを使用できるか確認します。

  2. チュートリアル: RIA Services ソリューションの作成」の手順を完了しているか確認します。

    これらの準備を行うと、Silverlight グリッド コントロールを使用する単純な Silverlight アプリケーションが作成されます。 このチュートリアルの後半で、グリッド コントロールを使用して、コード化された UI テストを実行します。

    ヒント

    サポートされる Silverlight コントロールとサポートされない Silverlight コントロール詳細情報:「方法: テスト用に Silverlight アプリケーションを設定する」を参照してください。

  3. チュートリアル: RIA Services ソリューションの作成」で作成した RIAServicesExample を実行中に、Web アプリケーションをクリップボードまたはメモ帳ファイルにコピーします。 たとえば、アドレスは https://localhost: <port number>/RIAServicesExampleTestPage.aspx のようになります。

Silverlight 4 プロジェクトへの SilverlightUIAutomationHelper.dll の追加

Silverlight アプリケーションをテストするには、参照として Microsoft.VisualStudio.TestTools.UITest.Extension.SilverlightUIAutomationHelper.dll を各 Silverlight 4 アプリケーションに追加し、Silverlight コントロールが識別できるようにします。 このヘルパー アセンブリは Silverlight アプリケーションをインストルメント化し、コントロールに関する情報を、コード化された UI テスト、または操作の記録で使用する Silverlight プラグイン API で使用できるようにします。このアセンブリは再配布できません。 したがって、アプリケーションをビルドする場合は、この参照を条件付きで追加する必要があります。 この方法を使用すると、ソフトウェアを顧客に配置するときにアセンブリは再配布されません。

SilverlightUIAutomationHelper.dll を追加するには

  1. テストするソリューション内の Silverlight プロジェクトごとに、SilverlightUIAutomationHelper.dll を追加する必要があります。 ソリューション エクスプローラーで、RIAServicesExample プロジェクトを右クリックし、[プロジェクトのアンロード] をクリックします。

    プロジェクトが "RIAServicesExample (使用不可)" としてソリューション エクスプローラーに表示されます。

  2. プロジェクトを再度右クリックし、[RIAServicesExample.csproj の編集] をクリックします。

    RIAServicesExample.csproj ファイルがコード エディターで開きます。 <PropertyGroup> ノードとその後に <ItemGroup> ノードが表示されます。 次の 2 つの変更を行う必要があります。

    1. 運用条件を設定するには、次のエントリを最初の <PropertyGroup> ノードに追加します。

      <Production Condition="'$(Production)'==''">False</Production>
      
    2. ビルドが運用ビルドでない場合に DLL を追加するには、<PropertyGroup> の後、<ItemGroup> ノードの前に次の <Choose> ノードを挿入します。

      <Choose>
         <When Condition=" '$(Production)'=='False' ">
               <ItemGroup>
                 <Reference Include="Microsoft.VisualStudio.TestTools.UITest.Extension.SilverlightUIAutomationHelper">
                 </Reference>
               </ItemGroup>
             </When>
       </Choose>
      
  3. ファイルを保存するには、[保存] をクリックします。

  4. これらの変更を再読み込みするには、サーバー プロジェクトを右クリックし、[プロジェクトの再読み込み] をクリックします。

    ヒント

    複数の Silverlight プロジェクトをテストする場合は、プロジェクトごとにこの手順を実行する必要があります。

    重要

    SilverlightUIAutomationHelper.dll を削除して、SilverlightUIAutomationHelper.dll が実行コードで再配布されないようにするには、次のように最初の <PropertyGroup> ノードで運用条件の値を true に設定します。 この方法では、前の手順でプロジェクトに追加した Choose ノードによって、DLL は参照として追加されなくなります。 また、Production という名前の環境変数を True の値に設定することもできます。 このように設定すると、msbuild を使用して Silverlight プロジェクトを作成したり、SilverlightUIAutomationHelper.dll を削除したりできます。

RIAServicesExample Silverlight アプリケーションのコード化された UI テストの作成

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

  1. ソリューション エクスプローラーで、ソリューションを右クリックし、[追加] をクリックして、[新しいプロジェクト] を選択します。

    [新しいプロジェクトの追加] ダイアログ ボックスが表示されます。

  2. [インストールされたテンプレート] ペインで、[Visual C#] または [Visual Basic] を展開し、[テスト] を選択します。

  3. 中央のペインで、[テスト プロジェクト] テンプレートを選択します。

  4. [OK] をクリックします。

    ソリューション エクスプローラーで、TestProject1 という名前の新しいテスト プロジェクトがソリューションに追加されます。 UnitTest1.cs ファイルまたは UnitTest1.vb ファイルがコード エディターに表示されます。 このチュートリアルでは UnitTest1 ファイルは使用しないため、ファイルを閉じてかまいません。

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

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

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

    [UIMap – コード化された UI テスト ビルダー] が表示されます。

    このダイアログ ボックスのオプションの詳細については、「方法: コード化された UI テストを作成する」を参照してください。

  7. [UIMap – コード化された UI テスト ビルダー] で [記録の開始] をクリックします。 数秒でコード化された UI テスト ビルダーが準備されます。

    UI レコーディングの開始

  8. Internet Explorer を起動します。

  9. Internet Explorer のアドレス バーに、前の手順でコピーした Web アプリケーション アドレスを入力します。 この例を次に示します。

    https://localhost: <port number>/RIAServicesExampleTestPage.aspx

  10. 1 つまたは 2 つの列ヘッダーをクリックして、データを並べ替えます。

  11. Internet Explorer を終了します。

  12. [UIMap – コード化された UI テスト ビルダー] で、[コードの生成] をクリックします。

  13. [メソッド名] ボックスに「SimpleSilverlightAppTest」と入力し、[追加と生成] をクリックします。 数秒でコード化された UI テストが表示され、ソリューションに追加されます。

  14. [UIMap – コード化された UI テスト ビルダー] を閉じます。

    コード エディターに CodedUITest1.cs ファイルが表示されます。

    注意

    アプリケーションで Silverlight コントロールの種類に基づいて固有のオートメーション プロパティを割り当てることができます。 詳細については テスト用に Silverlight コントロールの一意のオートメーション プロパティを設定する.

RIAServicesExample Silverlight アプリケーションでのコード化された UI テストの実行

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

  • [テスト] メニューの [ウィンドウ] をクリックし、[テスト ビュー] をクリックします。テスト ビューで、[テスト名] 列の CodedUITestMethod1 を選択し、ツール バーの [選択範囲の実行] をクリックします。

    コード化された UI テストは、Silverlight データ グリッド コントロールを使用して正常に実行されます。

参照

参照

Microsoft.VisualStudio.TestTools.UITesting.SilverlightControls

Microsoft.VisualStudio.TestTools.UITest.Extension.Silverlight

概念

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

その他の技術情報

方法: テスト用に Silverlight アプリケーションを設定する

テスト用に Silverlight コントロールの一意のオートメーション プロパティを設定する

コード化された UI テストまたは操作の記録を使用した Silverlight アプリケーションのテスト

コード化された UI テスト エディターを使用したコード化された UI テストの編集