コード化された UI テストを使用した SharePoint 2010 アプリケーションのテストTesting SharePoint 2010 Applications with Coded UI Tests

コード化された UI テストを SharePoint アプリケーションに含めると、UI コントロールを含むアプリケーション全体が正しく機能していることを検証できます。Including coded UI tests in a SharePoint application lets you verify that the whole application, including its UI controls, is functioning correctly. コード化された UI テストでは、ユーザー インターフェイスの値とロジックも検証できます。Coded UI tests can also validate values and logic in the user interface.

必要条件Requirements

  • Visual Studio EnterpriseVisual Studio Enterprise

コード化された UI テストについて把握しておくべきことWhat else should I know about coded UI tests?

コード化された UI テストを使用する利点の詳細については、「UI オートメーションを使用してコードをテストする」と「Visual Studio 2012 を使用した継続的配信のためのテスト - 第 5 章: システム テストの自動化」を参照してください。To learn more about the benefits of using coded UI tests, see Use UI Automation To Test Your Code and Testing for Continuous Delivery with Visual Studio 2012 - Chapter 5 Automating System Tests.

Notes

  • 必須コンポーネント SharePoint アプリケーションのコード化された UI テストは、SharePoint 2010 でのみサポートされます。Prerequsite Coded UI tests for SharePoint applications are supported only with SharePoint 2010.

  • 必須コンポーネント SharePoint アプリケーションでは、Visio および PowerPoint 2010 コントロールはサポートされていません。Prerequsite Support for Visio and PowerPoint 2010 controls in your SharePoint application is not supported.

SharePoint アプリのコード化された UI テストを作成するCreating a coded UI test for your SharePoint app

SharePoint 2010 アプリケーションでのコード化された UI テストの作成 方法は、他の種類のアプリケーションでのテストの作成方法と同じです。Creating coded UI tests for your SharePoint 2010 applications is the same as creating tests for other types of applications. 記録と再生は、Web 編集インターフェイス上のすべてのコントロールでサポートされています。Record and Playback is supported for all controls on the Web Editing interface. カテゴリと Web パーツを選択するためのインターフェイスは、すべてが標準 Web コントロールです。The interface for selecting categories and web parts are all standard web controls.

SharePoint Web パーツSharePoint web parts

注意

操作を記録している場合は、コードを生成する前に操作を検証します。If you are recording action, validate the actions before generating code. マウス ホバーにはいくつかの動作が関連付けられているため、既定で有効になっています。Since there are several behaviors associated with Mouse hover, it is on by default. コード化された UI テストから冗長なホバーを削除するようにしてください。Be careful to remove redundant hovers from your coded UI tests. そのためには、テスト用のコードを編集するか、 コード化された UI テスト エディターを使用します。You can do this by editing the code for the test, or by using the Coded UI Test Editor.

SharePoint アプリ内に Office 2010 コントロールのテストを含めるIncluding testing of Office 2010 controls within your SharePoint app

SharePoint アプリでいくつかの Office 2010 Web パーツの自動化を有効にするには、コードを少し変更する必要があります。To enable automation for some office 2010 web parts in your SharePoint app, you have to make some minor code modifications.

警告

Visio および PowerPoint 2010 コントロールはサポートされていません。Support for Visio and PowerPoint 2010 controls is not supported.

Excel 2010 のセル コントロールExcel 2010 cell controls

Excel セル コントロールを含めるには、コード化された UI テストのコードを少し変更する必要があります。To include Excel cell controls, you must make some changes in the coded UI test's code.

警告

Excel のセルにテキストを入力してから方向キーを操作すると、正しく記録されません。Entering text in any Excel cell, followed by an arrow key action, does not record correctly. セルの選択にはマウスを使用してください。Use the mouse to select cells.

空のセルに対する操作を記録している場合は、セルをダブルクリックしてからテキスト設定操作を実行して、コードを変更する必要があります。If you are recording actions on an empty cell, you must modify the code by double clicking on the cell and then performing a set text operation. そうする必要があるのは、セルをクリックした後、キーボードを操作すると、セル内の textarea がアクティブになるためです。This is needed because a click on the cell, followed by any keyboard action activates the textarea within the cell. 単に空のセルで setvalue を記録すると、セルがクリックされるまでは存在しない editbox が検索されます。Simply recording a setvalue on the empty cell would search for the editbox which is not present until the cell has been clicked. 例:For example:

Mouse.DoubliClick(uiItemCell,new Point(31,14));  
uiGridKeyboardInputEdit.Text=value;  

空でないセルに対する操作を記録している場合は、セルにテキストを追加したときに新しい <div> コントロールがセルの子として追加されるため、記録はより複雑になります。If you are recording actions on a non-empty cell, then recording gets a little more complicated, because the moment you add text to a cell, a new <div> control is added as a child of the cell. 新しい <div> コントロールには、入力したテキストが含まれます。The new <div> control contains the text that you just entered. レコーダーは新しい <div> コントロールに対する操作を記録する必要がありますが、新しい <div> コントロールはテキストが入力されるまで存在しないため、記録できません。The recorder needs to record actions on the new <div> control; however, it can't because the new <div> control does not exist until after the test is entered. この問題に対応するために、手動で次のようにコードを変更する必要があります。You must manually make the following code changes to accommodate this issue.

  1. セルの初期化に移動して、 RowIndex および ColumnIndex プライマリ プロパティを作成します。Go to cell initialization and make RowIndex and ColumnIndex primary properties:

    this.mUIItemCell.SearchProperties[HtmlCell.PropertyNames. RowIndex] = "3";   
    this.mUIItemCell.SearchProperties[HtmlCell.PropertyNames. ColumnIndex] = "3";  
    
  2. セルの HtmlDiv 子を検索します。Find the HtmlDiv child of the cell:

    private UITestControl getControlToDoubleClick(HtmlCell cell)   
    {   
         if (String.IsNullOrEmpty(cell.InnerText)) return cell;   
         HtmlDiv pane = new HtmlDiv(cell);   
         pane.FilterProperties[HtmlDiv.PropertyNames.InnerText] = cell.InnerText;   
         // Class is an important property in finding pane   
         pane.FilterProperties[HtmlDiv.PropertyNames.Class] = "cv-nwr";   
         UITestControlCollection panes = pane.FindMatchingControls();   
         return panes[0];   
    }  
    
  3. HtmlDivにマウスのダブルクリック操作のコードを追加します。Add code for a mouse double-click action on HtmlDiv:

    Mouse.DoubleClick(uIItemPane, new Point(31, 14)); )  
    
  4. TextAreaにテキストを設定するコードを追加します。Add code to set text on TextArea:

    uIGridKeyboardInputEdit.Text = value; }  
    

SharePoint 2010 アプリで Silverlight Web パーツのコード化された UI テストを有効にするEnabling coded UI testing of Silverlight web parts in your SharePoint 2010 app

Visual Studio 2012 以降では、Silverlight のテストはサポートされていません。Silverlight testing isn't supported in Visual Studio 2012 and later. しかし、SharePoint 2010 アプリで Silverlight Web パーツをテストしたい場合は、Visual Studio ギャラリーから個別の Silverlight プラグインをインストールすることができます。But, if you want to test the Silverlight web parts in your SharePoint 2010 app, you can install a separate Silverlight plug-in from the Visual Studio Gallery.

コンピューターを設定するSetting up your machine

  1. Visual Studio 2012.1 以降がインストールされていることを確認します。Make sure that you have Visual Studio 2012.1 or later installed.

  2. Microsoft Visual Studio UI Test Plugin for Silverlightをインストールします。Install the Microsoft Visual Studio UI Test Plugin for Silverlight.

  3. Fiddlerをインストールします。Install Fiddler. これは、HTTP トラフィックをキャプチャしてログ記録するだけのツールです。This is simply a tool that captures and logs the HTTP traffic.

  4. fiddlerXap プロジェクトをダウンロードします。Download the fiddlerXap project. 解凍、ビルド後、"CopySLHelper.bat" スクリプトを実行して、Fiddler ツールで Silverlight Web パーツをテストするときに必要なヘルパー DLL をインストールします。Unzip it, build it, and run the "CopySLHelper.bat" script to install the helper DLL that is required to test Silverlight web parts when you use the Fiddler tool.

    コンピューターのセットアップ後、Silverlight Web パーツを使用する SharePoint 2010 アプリのテストを開始するために、次の手順に従います。After setting up your machine, to start testing your SharePoint 2010 app with Silverlight web parts, follow these steps:

Silverlight Web パーツをテストするTesting Silverlight web parts

  1. Fiddler を起動します。Start Fiddler.

  2. ブラウザーのキャッシュを消去します。Clear the browser cache. この操作が必要なのは、Silverlight UI オートメーション ヘルパー DLL が含まれている XAP ファイルが、通常はキャッシュされるためです。This is necessary because the XAP file, which contains the Silverlight UI Automation Helper DLL, is typically cached. 変更した XAP ファイルが確実に格納されるようにするために、ブラウザーのキャッシュを消去します。We have to make sure that the modified XAP file is picked up, so we clear the browser cache.

  3. Web ページを開きます。Open the web page.

  4. 通常の Web アプリケーション テストと同様に、レコーダーを開始し、コードを生成します。Start the recorder and generate code like you would for a regular web application testing.

  5. 生成されたコードが、Microsoft.VisualStudio.TestTools.UITest.Extension.Silverlight.dll を参照することを確認する必要があります。You should confirm that the generated code references the Microsoft.VisualStudio.TestTools.UITest.Extension.Silverlight.dll.

    詳細については、「 Visual Studio 2012 での SharePoint 2010 の UI テスト」をご覧ください。For more information, see UI Testing SharePoint 2010 with Visual Studio 2012

外部リソースExternal resources

ブログBlogs

Visual Studio 2012 での SharePoint 2010 の UI テストUI Testing SharePoint 2010 with Visual Studio 2012

コード化された UI テストでの Silverlight コントロールの検索ロジックを理解するUnderstanding the Search logic for Silverlight controls in Coded UI Test

Silverlight コントロールのプロパティの取得Fetching Property of a Silverlight control

コード化された UI テストのコンテンツ インデックスContent Index for Coded UI Test

ガイダンスGuidance

Visual Studio 2012 を使用した継続的配信のためのテスト - 第 5 章: システム テストの自動化Testing for Continuous Delivery with Visual Studio 2012 - Chapter 5 Automating System Tests

フォーラムForum

Visual Studio ALM + Team Foundation Server のブログVisual Studio ALM + Team Foundation Server Blog

関連項目See Also

UI オートメーションを使用してコードをテストする Use UI Automation To Test Your Code
SharePoint 2010 および 2013 アプリケーションの Web パフォーマンス テストおよびロード テスト Web performance and load testing SharePoint 2010 and 2013 applications
SharePoint ソリューションの作成 Create SharePoint Solutions
SharePoint コードの検証およびデバッグ Verifying and Debugging SharePoint Code
SharePoint ソリューションのビルドとデバッグ Building and Debugging SharePoint Solutions
SharePoint アプリケーションのパフォーマンスのプロファイリングProfiling the Performance of SharePoint Applications