チュートリアル: コード化された UI テストの作成、編集、および保守Walkthrough: Creating, Editing and Maintaining a Coded UI Test

このチュートリアルでは、簡単な Windows Presentation Foundation (WPF) アプリケーションを作成して、コード化された UI テストの作成、編集、および保守を行う方法について説明します。In this walkthrough, you will create a simple Windows Presentation Foundation (WPF) application to demonstrate how to create, edit, and maintain a coded UI test. また、さまざまなタイミングの問題やコントロールのリファクタリングによって機能が損なわれたテストを修正するための解決策を示します。The walkthrough provides solutions for correcting tests that have been broken by various timing issues and control refactoring.

簡単な WPF アプリケーションの作成Create a Simple WPF Application

  1. [ファイル] メニューの [新規作成] をポイントし、[プロジェクト] を選択します。On the File menu, point to New, and then select Project.

    [新しいプロジェクト] ダイアログ ボックスが表示されます。The New Project dialog box appears.

  2. [インストールされたテンプレート] ペインで、[Visual C#] を展開し、[Windows デスクトップ] を選択します。In the Installed pane, expand Visual C#, and then select Windows Desktop.

  3. 中央のペインの上にあるターゲット フレームワーク ドロップダウン リストが [.NET Framework 4.5] に設定されていることを確認します。Above the middle pane, verify that the target framework drop-down list is set to .NET Framework 4.5.

  4. 中央のペインで、[WPF アプリケーション] テンプレートを選択します。In the middle pane, select the WPF Application template.

  5. [名前] テキスト ボックスに「SimpleWPFApp」と入力します。In the Name text box, type SimpleWPFApp.

  6. プロジェクトの保存先のフォルダーを選択します。Choose a folder where you will save the project. [場所] テキスト ボックスにフォルダーの名前を入力します。In the Location text box, type the name of the folder.

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

    Visual Studio の WPF デザイナーが開き、プロジェクトの MainWindow が表示されます。The WPF Designer for Visual Studio opens and displays MainWindow of the project.

  8. ツールボックスが現在開いていない場合は開きます。If the toolbox is not currently open, open it. [表示] メニューを選択し、[ツールボックス] を選択します。Choose the View menu, and then choose Toolbox.

  9. [すべての WPF コントロール] セクションの [Button][CheckBox][ProgressBar] の各コントロールをデザイン サーフェイスの MainWindow にドラッグします。Under the All WPF Controls section, drag a Button, CheckBox and ProgressBar control onto the MainWindow in the design surface.

  10. Button コントロールを選択します。Select the Button control. [プロパティ] ウィンドウで、[名前] プロパティの値を <No Name> から button1 に変更します。In the Properties window, change the value for the Name property from <No Name> to button1. 次に、[コンテンツ] プロパティの値を Button から Start に変更します。Then change the value for the Content property from Button to Start.

  11. ProgressBar コントロールを選択します。Select the ProgressBar control. [プロパティ] ウィンドウで、[名前] プロパティの値を <No Name> から progressBar1 に変更します。In the Properties window, change the value for the Name property from <No Name> to progressBar1. 次に、[最大値] プロパティの値を 100 から 10000 に変更します。Then change the value for the Maximum property from 100 to 10000.

  12. Checkbox コントロールを選択します。Select the Checkbox control. [プロパティ] ウィンドウで、[名前] プロパティの値を <No Name> から checkBox1 に変更し、[IsEnabled] プロパティをクリアします。In the Properties window, change the value for the Name property from <No Name> to checkBox1 and clear the IsEnabled property.

    簡単な WPF アプリケーションSimple WPF Application

  13. ボタン コントロールをダブルクリックしてクリック イベント ハンドラーを追加します。Double-click the button control to add a click event handler.

    コード エディターに MainWindow.xmal.cs が表示され、新しい button1_Click メソッドにカーソルが置かれます。The MainWindow.xmal.cs is displayed in the Code Editor with the cursor in the new button1_Click method.

  14. MainWindow クラスの先頭にデリゲートを追加します。At the top of the MainWindow class, add a delegate. このデリゲートはプログレス バーに使用されます。The delegate will be used for the progress bar. デリゲートを追加するには、次のコードを追加します。To add the delegate, add the following code:

    public partial class MainWindow : Window
    {
            private delegate void ProgressBarDelegate(System.Windows.DependencyProperty dp, Object value);
    
        public MainWindow()
        {
    
            InitializeComponent();
        }
    
  15. button1_Click メソッドに次のコードを追加します。In the button1_Click method, add the following code:

    private void button1_Click(object sender, RoutedEventArgs e)
    {
        double progress = 0;
    
        ProgressBarDelegate updatePbDelegate =
            new ProgressBarDelegate(progressBar1.SetValue);
    
        do
        {
            progress ++;
    
            Dispatcher.Invoke(updatePbDelegate,
                System.Windows.Threading.DispatcherPriority.Background,
                new object[] { ProgressBar.ValueProperty, progress });
            progressBar1.Value = progress;
        }
        while (progressBar1.Value != progressBar1.Maximum);
    
        checkBox1.IsEnabled = true;
    }
    
  16. ファイルを保存します。Save the file.

WPF アプリケーションの動作の確認Verify the WPF Application Runs Correctly

  1. [デバッグ] メニューの [デバッグ開始] を選択するか、F5 キーを押します。On the Debug menu, select Start Debugging or press F5.

  2. チェック ボックス コントロールが無効にされることに注意してください。Notice that the check box control is disabled. [開始] を選択します。Choose Start.

    数秒でプログレス バーが 100% になります。In a few seconds, the progress bar should be 100% complete.

  3. これで、チェック ボックス コントロールを選択できます。You can now select the check box control.

  4. SimpleWPFApp を閉じます。Close SimpleWPFApp.

SimpleWPFApp のコード化された UI テストの作成と実行Create and Run a Coded UI Test for SimpleWPFApp

  1. 前に作成した SimpleWPFApp アプリケーションを見つけます。Locate the SimpleWPFApp application that you created earlier. 既定では、アプリケーションは C:\Users\<ユーザー名>\Documents\Visual Studio <バージョン>\Projects\SimpleWPFApp\SimpleWPFApp\bin\Debug\SimpleWPFApp.exe にあります。By default, the application will be located at C:\Users\<username>\Documents\Visual Studio <version>\Projects\SimpleWPFApp\SimpleWPFApp\bin\Debug\SimpleWPFApp.exe

  2. SimpleWPFApp アプリケーションのデスクトップ ショートカットを作成します。Create a desktop shortcut to the SimpleWPFApp application. SimpleWPFApp.exe を右クリックし、[コピー] を選択します。Right-click SimpleWPFApp.exe and choose Copy. デスクトップで右クリックし、[ショートカットの貼り付け] を選択します。On your desktop, right-click and choose Paste shortcut.

    ヒント

    アプリケーションのショートカットを使用するとアプリケーションをすばやく起動できるため、アプリケーションのコード化された UI テストを追加または変更しやすくなります。A shortcut to the application makes it easier to add or modify Coded UI tests for your application because it lets you start the application quickly.

  3. ソリューション エクスプローラーで、ソリューションを右クリックし、[追加] を選択して [新しいプロジェクト] を選択します。In Solution Explorer, right-click the solution, choose Add and then select New Project.

    [新しいプロジェクトの追加] ダイアログ ボックスが表示されます。The Add New Project dialog box appears.

  4. [インストールされたテンプレート] ペインで、[Visual C#] を展開し、[テスト] を選択します。In the Installed pane, expand Visual C#, and then select Test.

  5. 中央のペインで、[コード化された UI テスト プロジェクト] テンプレートを選択します。In the middle pane, select the Coded UI Test Project template.

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

    ソリューション エクスプローラーで、CodedUITestProject1 という名前の新しいコード化された UI テスト プロジェクトがソリューションに追加されます。In Solution Explorer, the new coded UI test project named CodedUITestProject1 is added to your solution.

    [コード化された UI テストのコードの生成] ダイアログ ボックスが表示されます。The Generate Code for Coded UI Test dialog box appears.

  7. [操作の記録、UI マップの編集、またはアサーションの追加] オプションを選択し、[OK] を選択します。Select the Record actions, edit UI map or add assertions option and choose OK.

    [UIMap - コード化された UI テスト ビルダー] が表示され、Visual Studio ウィンドウは最小化されます。The UIMap - Coded UI Test Builder appears, and the Visual Studio window is minimized.

    ダイアログ ボックスのオプションの詳細については、「コード化された UI テストを作成する」を参照してください。For more information about the options in the dialog box, see Creating Coded UI Tests.

  8. [UIMap - コード化された UI テスト ビルダー] で [記録の開始] を選択します。Choose Start Recording on the UIMap - Coded UI Test Builder.

    記録の開始Start recording

    受信メールを処理する場合など、必要に応じて記録を一時停止できます。You can pause the recording if needed, for example if you have to deal with incoming mail.

    レコーディングの一時停止Pause the recording

    警告

    デスクトップ上で実行されるすべてのアクションが記録されます。All actions performed on the desktop will be recorded. 機密データが記録される可能性のあるアクションを実行する場合には、記録を一時停止します。Pause the recording if you are performing actions that may lead to sensitive data being included in the recording.

  9. デスクトップ ショートカットを使用して、SimpleWPFApp を起動します。Launch the SimpleWPFApp using the desktop shortcut.

    前と同じく、チェック ボックス コントロールが無効にされることに注意してください。As before, notice that the check box control is disabled.

  10. SimpleWPFApp で [開始] を選択します。On the SimpleWPFApp, choose Start.

    数秒でプログレス バーが 100% になります。In a few seconds, the progress bar should be 100% complete.

  11. 有効になったチェック ボックス コントロールを確認します。Check the check box control which is now enabled.

  12. SimpleWPFApp アプリケーションを閉じます。Close the SimpleWPFApp application.

  13. [UIMap - コード化された UI テスト ビルダー] で、[コードの生成] を選択します。On the UIMap - Coded UI Test Builder, choose Generate Code.

  14. [メソッド名] に「SimpleAppTest」と入力し、[追加と生成] を選択します。In the Method Name type SimpleAppTest and choose Add and Generate. 数秒でコード化された UI テストが表示され、ソリューションに追加されます。In a few seconds, the Coded UI test appears and is added to the Solution.

  15. [UIMap - コード化された UI テスト ビルダー] を閉じます。Close the UIMap - Coded UI Test Builder.

    コード エディターに CodedUITest1.cs ファイルが表示されます。The CodedUITest1.cs file appears in the Code Editor.

  16. プロジェクトを保存します。Save your project.

コード化された UI テストの実行Run the Coded UI Test

  1. [テスト] メニューの [ウィンドウ] を選択し、[テスト エクスプローラー] を選択します。From the Test menu, choose Windows and then choose Test Explorer.

  2. [ビルド] メニューの [ソリューションのビルド] をクリックします。From the Build menu, choose Build Solution.

  3. CodedUITest1.cs ファイルで、CodedUITestMethod メソッドを見つけて右クリックし、[テストの実行] を選択します。または、テスト エクスプローラーでテストを実行します。In the CodedUITest1.cs file, locate the CodedUITestMethod method, right-click and select Run Tests, or run the test from Test Explorer.

    コード化された UI テストを実行すると、SimpleWPFApp が表示されます。While the coded UI test runs, the SimpleWPFApp is visible. 前の手順で実行した各ステップが実行されます。It conducts the steps that you did in the previous procedure. ただし、テストで チェック ボックス コントロールのチェック ボックスをオンにしようとすると、[テスト結果] ウィンドウにテストが失敗したことが示されます。However, when the test tries to select the check box for the check box control, the Test Results window shows that the test failed. チェック ボックス コントロールはプログレス バーが 100% になるまで無効化されています。テストではこの点が認識されておらず、まだ有効になっていないチェック ボックスをオンにしようとしたことが失敗の原因です。This is because the test tries to select the check box but is not aware that the check box control is disabled until the progress bar is 100% complete. コード化された UI テストで使用できるさまざまな UITestControl.WaitForControlXXX() メソッドを使用することで、この問題や同様の問題を解決できます。You can correct this and similar issues by using the various UITestControl.WaitForControlXXX() methods that are available for coded UI testing. 次の手順では、WaitForControlEnabled() メソッドを使用して、このテストの失敗の原因となった問題を解決する方法を示します。The next procedure will demonstrate using the WaitForControlEnabled() method to correct the issue that caused this test to fail. 詳細については、「再生中に特定のイベントを待機するようにコード化された UI テストを設定」を参照してください。For more information, see Making Coded UI Tests Wait For Specific Events During Playback.

コード化された UI テストの編集と再実行Edit and Rerun the Coded UI Test

  1. テスト エクスプローラー ウィンドウで、失敗したテストを選択し、[StackTrace] セクションで [UIMap.SimpleAppTest()] の最初のリンクを選択します。In the Test Explorer window, select the failed test and in the StackTrace section, choose the first link to UIMap.SimpleAppTest().

  2. UIMap.Designer.cs ファイルが開き、コードのエラー ポイントが強調表示されます。The UIMap.Designer.cs file opens with the point of error highlighted in the code:

    // Select 'CheckBox' check box
    uICheckBoxCheckBox.Checked = this.SimpleAppTestParams.UICheckBoxCheckBoxChecked;
    
  3. この問題を解決するには、WaitForControlEnabled() メソッドを使用して、コード化された UI テストで CheckBox コントロールが有効になるのを待ってからこの行に進むようにします。To correct this problem, you can make the coded UI test wait for the CheckBox control to be enabled before continuing on to this line using the WaitForControlEnabled() method.

    警告

    UIMap.Designer.cs ファイルは変更しないでください。Do not modify the UIMap.Designer.cs file. UIMapDesigner.cs ファイルでコードを変更しても、[UIMap - コード化された UI テスト ビルダー] を使用してコードを生成するたびに変更が上書きされます。Any code changes you make in the UIMapDesigner.cs file will be overwritten every time you generate code using the UIMap - Coded UI Test Builder. 記録されたメソッドを変更する必要がある場合は、メソッドを UIMap.cs ファイルにコピーし、メソッド名を変更する必要があります。If you have to modify a recorded method, you must copy it to UIMap.cs file and rename it. UIMap.cs ファイルを使用すると、UIMapDesigner.cs ファイルのメソッドやプロパティをオーバーライドできます。The UIMap.cs file can be used to override methods and properties in the UIMapDesigner.cs file. Coded UITest.cs ファイルの元のメソッドへの参照を削除し、変更したメソッド名に置き換える必要があります。You must remove the reference to the original method in the Coded UITest.cs file and replace it with the renamed method name.

  4. ソリューション エクスプローラーで、コード化された UI テスト プロジェクトの UIMap.uitest を見つけます。In Solution Explorer, locate UIMap.uitest in your coded UI test project.

  5. UIMap.uitest のショートカット メニューを開き、[開く] を選択します。Open the shortcut menu for UIMap.uitest and choose Open.

    コード化された UI テスト エディターに、コード化された UI テストが表示されます。The coded UI test is displayed in the Coded UI Test Editor. これで、コード化された UI テストを表示および編集できます。You can now view and edit the coded UI test.

  6. [UI 操作] ペインで、UIMap.cs または UIMap.vb ファイルに移動するテスト メソッド (SimpleAppTest) を選択します。移動すると、カスタム コード機能は容易になり、テスト コードが再コンパイルされても上書きされません。In the UI Action pane, select the test method (SimpleAppTest) that you want to move to the UIMap.cs or UIMap.vb file to facilitate custom code functionality which won't be overwritten when the test code is recompiled.

  7. コード化された UI テスト エディターのツール バーにある [コードの移動] ボタンを選択します。Choose the Move Code button on the Coded UI Test Editor toolbar.

  8. Microsoft Visual Studio のダイアログ ボックスが表示されます。A Microsoft Visual Studio dialog box is displayed. 警告で、メソッドが UIMap.uitest ファイルから UIMap.cs ファイルへ移動すること、およびコード化された UI テスト エディターを使用してメソッドを編集できなくなることが表示されます。It warns you that the method will be moved from the UIMap.uitest file to the UIMap.cs file and that you will no longer be able to edit the method using the Coded UI Test Editor. [はい] をクリックします。Choose Yes.

    テスト メソッドが UIMap.uitest ファイルから削除され、[UI Actions](UI 操作) ペインに表示されなくなります。The test method is removed from the UIMap.uitest file and no longer is displayed in the UI Actions pane. 移動したテスト ファイルを編集するには、ソリューション エクスプローラーから UIMap.cs ファイルを開きます。To edit the moved test file, open the UIMap.cs file from Solution Explorer.

  9. Visual StudioVisual Studio ツール バーの [保存] を選択します。On the Visual StudioVisual Studio toolbar, choose Save.

    テスト メソッドの更新内容が UIMap.Designer ファイルに保存されます。The updates to the test method are saved in the UIMap.Designer file.

    警告

    メソッドを移動すると、コード化された UI テスト エディターを使用してそのメソッドを編集できなくなります。Once you have moved the method, you can no longer edit it using the Coded UI Test Editor. カスタム コードを追加し、コード エディターを使って管理する必要があります。You must add your custom code and maintain it using the Code Editor.

  10. メソッド名を SimpleAppTest() から ModifiedSimpleAppTest() に変更します。Rename the method from SimpleAppTest() to ModifiedSimpleAppTest()

  11. 次の using ステートメントをファイルに追加します。Add the following using statement to the file:

    using Microsoft.VisualStudio.TestTools.UITesting.WpfControls;
    
  12. 確認済みの問題のコード行の前に、次の WaitForControlEnabled() メソッドを追加します。Add the following WaitForControlEnabled() method before the offending line of code identified previously:

    uICheckBoxCheckBox.WaitForControlEnabled();
    
    // Select 'CheckBox' check box
    uICheckBoxCheckBox.Checked = this.SimpleAppTestParams.UICheckBoxCheckBoxChecked;
    
  13. CodedUITest1.cs ファイルで、CodedUITestMethod メソッドを見つけてコメントアウトするか、元の SimpleAppTest() メソッドへの参照の名前を変更し、新しい ModifiedSimpleAppTest() に置き換えます。In the CodedUITest1.cs file, locate the CodedUITestMethod method and either comment out or rename the reference to the original SimpleAppTest() method and then replace it with the new ModifiedSimpleAppTest():

    [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.
                // For more information on generated code, see http://go.microsoft.com/fwlink/?LinkId=179463
                //this.UIMap.SimpleAppTest();
                this.UIMap.ModifiedSimpleAppTest();
            }
    
  14. [ビルド] メニューの [ソリューションのビルド] をクリックします。On the Build menu, choose Build Solution.

  15. CodedUITestMethod メソッドを右クリックし、[テストの実行] を選択します。Right-click the CodedUITestMethod method and select Run Tests.

  16. 今回は、コード化された UI テストでテストのすべてのステップが正常に完了し、テスト エクスプローラー ウィンドウに [成功] と表示されます。This time the coded UI test successfully completes all the steps in the test and Passed is displayed in the Test Explorer window.

SimpleWPFApp のコントロールのリファクタリングRefactor a Control in the SimpleWPFApp

  1. MainWindow.xaml ファイルで、デザイナーのボタン コントロールを選択します。In the MainWindow.xaml file, in the Designer, select the button control.

  2. [プロパティ] ウィンドウの上部にある [名前] プロパティの値を button1 から buttonA に変更します。At the top of the Properties window, change the Name property value from button1 to buttonA.

  3. [ビルド] メニューの [ソリューションのビルド] をクリックします。On the Build menu, choose Build Solution.

  4. テスト エクスプローラーで、CodedUITestMethod1 を実行します。In Test Explorer, run CodedUITestMethod1.

    テストは失敗します。コード化された UI テストでは、UIMap で元は button1 としてマップされていたボタン コントロールを見つけることができないためです。The test fails because the coded UI test cannot locate the button control that was originally mapped in the UIMap as button1. このように、リファクタリングがコード化された UI テストに影響を及ぼす場合があります。Refactoring can impact coded UI tests in this manner.

  5. [テスト エクスプローラー] ウィンドウの [StackTrace] セクションで、[UIMpa.ModifiedSimpleAppTest()] の横にある最初のリンクを選択します。In the Test Explorer window, in the StackTrace section, choose the first link next to UIMpa.ModifiedSimpleAppTest().

    UIMap.cs ファイルが開きます。The UIMap.cs file opens. コードでエラー ポイントが強調表示されます。The point of error is highlighted in the code:

    // Click 'Start' button
    Mouse.Click(uIStartButton, new Point(27, 10));
    

    この手順の前半のコード行では UiStartButton を使用していることに注意してください。これがリファクタリング前の UIMap 名です。Notice that the line of code earlier in this procedure is using UiStartButton, which is the UIMap name before it was refactored.

    この問題を解決するには、コード化された UI テスト ビルダーを使用して、リファクタリングしたコントロールを UIMap に追加します。To correct the issue, you can add the refactored control to the UIMap by using the Coded UI Test Builder. 次の手順に示すように、このコードを使用するようテストのコードを更新できます。You can update the test's code to use the code, as demonstrated in the next procedure.

リファクタリングしたコントロールのマッピングおよびコード化された UI テストの編集と再実行Map Refactored Control and Edit and Rerun the Coded UI Test

  1. CodedUITest1.cs ファイルで、CodedUITestMethod1() メソッドを右クリックし、[コード化された UI テストのコードの生成] を選択して、[コード化された UI テスト ビルダーの使用] を選択します。In the CodedUITest1.cs file, in the CodedUITestMethod1() method, right-click, select Generate Code for Coded UI Test and then choose Use Coded UI Test Builder.

    [UIMap - コード化された UI テスト ビルダー] が表示されます。The UIMap - Coded UI Test Builder appears.

  2. 前半で作成したデスクトップ ショートカットを使用して、作成済みの SimpleWPFApp アプリケーションを実行します。Using the desktop shortcut you created earlier, run the SimpleWPFApp application that you created earlier.

  3. [UIMap - コード化された UI テスト ビルダー] で、十字ツールを SimpleWPFApp の [開始] ボタンまでドラッグします。On the UIMap - Coded UI Test Builder, drag the crosshair tool to the Start button on the SimpleWPFApp.

    [開始] ボタンが青いボックスで囲まれます。コード化された UI テスト ビルダーによって、選択したコントロールのデータが数秒で処理され、コントロールのプロパティが表示されます。The Start button is enclosed in a blue box and the Coded UI Test Builder takes a few seconds to process the data for the selected control and displays the controls properties. AutomationUId の名前が buttonA になっていることに注意してください。Notice that the AutomationUId is named buttonA.

  4. コントロールのプロパティで、左上隅の矢印を選択して UI コントロール マップを展開します。In the properties for the control, choose the arrow at the upper-left corner to expand the UI Control Map. UIStartButton1 が選択されていることを確認します。Notice that UIStartButton1 is selected.

  5. ツール バーの [コントロールの UI コントロール マップへの追加] を選択します。In the toolbar, choose the Add control to UI Control Map.

    ウィンドウの下部のステータスに、[選択されたコントロールが UI コントロール マップに追加されました] と表示され、操作が確認されます。The status at the bottom of the window verifies the action by displaying Selected control has been added to the UI control map.

  6. [UIMap - コード化された UI テスト ビルダー] で、[コードの生成] を選択します。On the UIMap - Coded UI Test Builder, choose Generate Code.

    [コード化された UI テスト ビルダー - コードの生成] が表示され、新しいメソッドは不要であり、UI コントロール マップの変更のみを目的としてコードが生成されることが通知されます。The Coded UI Test Builder - Generate Code appears with a note indicating that no new method is required and that code will only be generated for the changes to the UI control map.

  7. [生成] を選択します。Choose Generate.

  8. SimpleWPFApp.exe を閉じます。Close SimpleWPFApp.exe.

  9. [UIMap - コード化された UI テスト ビルダー] を閉じます。Close UIMap - Coded UI Test Builder.

    [UIMap - コード化された UI テスト ビルダー] によって、数秒で UI コントロール マップの変更が処理されます。The UIMap - Coded UI Test Builder takes a few seconds to process the UI control map changes.

  10. ソリューション エクスプローラーで、UIMap.Designer.cs ファイルを開きます。In Solution Explorer, open the UIMap.Designer.cs file.

  11. UIMap.Designer.cs ファイルで、UIStartButton1 プロパティを見つけます。In the UIMap.Designer.cs file, locate the UIStartButton1 property. SearchProperties"buttonA" に設定されていることを確認します。Notice the SearchProperties is set to "buttonA":

    public WpfButton UIStartButton1
            {
                get
                {
                    if ((this.mUIStartButton1 == null))
                    {
                        this.mUIStartButton1 = new WpfButton(this);
                        #region Search Criteria
                        this.mUIStartButton1.SearchProperties[WpfButton.PropertyNames.AutomationId] = "buttonA";
                        this.mUIStartButton1.WindowTitles.Add("MainWindow");
                        #endregion
                    }
                    return this.mUIStartButton1;
                }
            }
    

    これで、コード化された UI テストを変更して、新しくマップされたコントロールを使用できます。Now you can modify the coded UI test to use the newly mapped control. 前の手順で説明したように、コード化された UI テストのメソッドまたはプロパティをオーバーライドする場合は、UIMap.cs ファイルで実行する必要があります。As pointed out in the previous procedure if you want to override any methods or properties in the coded UI test, you must do so in the UIMap.cs file.

  12. UIMap.cs ファイルで、コンストラクターを追加し、値として SearchProperties を指定した UIStartButton プロパティを使用するように、AutomationID プロパティの "buttonA": プロパティを指定します。In the UIMap.cs file, add a constructor and specify the SearchProperties property of the UIStartButton property to use the AutomationID property with a value of "buttonA":

    public UIMap()
            {
                this.UIMainWindowWindow.UIStartButton.SearchProperties[WpfButton.PropertyNames.AutomationId] = "buttonA";
            }
    
  13. [ビルド] メニューの [ソリューションのビルド] をクリックします。On the Build menu, choose Build Solution.

  14. テスト エクスプローラーで、CodedUITestMethod1 を実行します。In Test Explorer, run CodedUITestMethod1.

    今回は、コード化された UI テストでテストのすべてのステップが正常に完了します。This time, the coded UI test successfully completes all the steps in the test. [テスト結果] ウィンドウに、[成功] というステータスが表示されます。In the Test Results Window, you will see a status of Passed.

外部リソースExternal Resources

ビデオVideos

ビデオへのリンク コード化された UI テストの概要link to video Getting started with Coded UI tests

ビデオへのリンク コード化された UI テストのメンテナンスとデバッグlink to video Maintenance And debugging of coded UI tests

ビデオへのリンク コード化された UI テストのハード コーディングlink to video Hand coding coded UI tests

FAQFAQ

コード化された UI テストの FAQCoded UI Tests FAQ

関連項目See also