연습: 코딩된 UI 테스트 만들기, 편집 및 유지 관리Walkthrough: Create, edit, and maintain a coded UI test

이 연습에서는 WPF(Windows Presentation Framework) 앱을 테스트하기 위해 코딩된 UI 테스트를 생성, 편집 및 유지 관리하는 방법에 대해 알아봅니다.In this walkthrough, you'll learn how to create, edit, and maintain a coded UI test to test a Windows Presentation Framework (WPF) app. 이 연습에서는 여러 타이밍 문제 및 컨트롤 리팩터링으로 인해 중단된 테스트를 해결하기 위한 솔루션을 제공합니다.The walkthrough provides solutions for correcting tests that have been broken by various timing issues and refactoring of controls.

WPF 앱 만들기Create a WPF app

  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. 확인을 선택합니다.Choose OK.

    Visual Studio용 WPF Designer가 열리고 프로젝트의 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, CheckBoxProgressBar 컨트롤을 디자인 화면의 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. 속성 창에 Name 속성의 값을 <이름 없음>에서 button1으로 변경합니다.In the Properties window, change the value for the Name property from <No Name> to button1. 그런 다음 Content 속성 값을 Button에서 Start로 변경합니다.Then change the value for the Content property from Button to Start.

  11. ProgressBar 컨트롤을 선택합니다.Select the ProgressBar control. 속성 창에 Name 속성의 값을 <이름 없음>에서 progressBar1로 변경합니다.In the Properties window, change the value for the Name property from <No Name> to progressBar1. 그런 다음 Maximum 속성 값을 100에서 10000으로 변경합니다.Then change the value for the Maximum property from 100 to 10000.

  12. Checkbox 컨트롤을 선택합니다.Select the Checkbox control. 속성 창에서 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 응용 프로그램

  13. 단추 컨트롤을 두 번 클릭하여 Click 이벤트 처리기를 추가합니다.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 앱 실행Run the WPF app

  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.

WPF 앱에 대한 바로 가기 만들기Create a shortcut to the WPF app

  1. 앞에서 만든 SimpleWPFApp 응용 프로그램을 찾습니다.Locate the SimpleWPFApp application that you created earlier.

  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.

SimpleWPFApp에 대해 코딩된 UI 테스트 만들기Create a coded UI test for SimpleWPFApp

  1. 솔루션 탐색기에서 솔루션을 마우스 오른쪽 단추로 클릭하고 추가를 선택한 다음, 새 프로젝트를 선택합니다.In Solution Explorer, right-click the solution, choose Add and then select New Project.

    새 프로젝트 추가 대화 상자가 나타납니다.The Add New Project dialog box appears.

  2. 설치됨 창에서 Visual C# 을 확장한 다음 테스트를 선택합니다.In the Installed pane, expand Visual C#, and then select Test.

  3. 가운데 창에서 코딩된 UI 테스트 프로젝트 템플릿을 선택합니다.In the middle pane, select the Coded UI Test Project template.

    참고

    코딩된 UI 테스트 프로젝트 템플릿이 표시되지 않으면, 코딩된 UI 테스트 구성 요소를 설치해야 합니다.If you don't see the Coded UI Test Project template, you need to install the coded UI test component.

  4. 확인을 선택합니다.Choose OK.

    CodedUITestProject1이라는 새로 코딩된 UI 테스트 프로젝트가 솔루션에 추가됩니다.The new coded UI test project named CodedUITestProject1 is added to your solution.

    코딩된 UI 테스트에 대한 코드 생성 대화 상자가 나타납니다.The Generate Code for Coded UI Test dialog box appears.

  5. 작업 기록, UI 맵 편집 또는 어설션 추가 옵션을 선택하고 확인을 선택합니다.Select the Record actions, edit UI map or add assertions option and choose OK.

    UIMap – 코딩된 UI 테스트 빌더 대화 상자가 나타나고 Visual Studio 창이 최소화됩니다.The UIMap - Coded UI Test Builder dialog appears, and the Visual Studio window is minimized.

    대화 상자의 옵션에 대한 자세한 내용은 코딩된 UI 테스트 만들기를 참조하세요.For more information about the options in the dialog box, see Creating Coded UI Tests.

  6. UIMap – 코딩된 UI 테스트 빌더 대화 상자에서 기록 시작을 선택합니다.Choose Start Recording on the UIMap - Coded UI Test Builder dialog.

    기록 시작

    필요한 경우, 예를 들어 들어오는 메일을 처리해야 하는 경우 기록을 일시 중지할 수 있습니다.You can pause the recording if needed, for example if you have to deal with incoming mail.

    기록 일시 중지

    경고

    데스크톱에서 수행된 모든 작업이 기록됩니다.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.

  7. 바탕 화면 바로 가기를 사용하여 SimpleWPFApp을 시작합니다.Launch the SimpleWPFApp using the desktop shortcut.

    이전처럼 확인란 컨트롤은 사용하지 않도록 설정되어 있습니다.As before, notice that the check box control is disabled.

  8. SimpleWPFApp에서 시작을 선택합니다.On the SimpleWPFApp, choose Start.

    몇 초 안에 진행률 표시줄이 100% 완료로 표시됩니다.In a few seconds, the progress bar should be 100% complete.

  9. 이제 사용하도록 설정된 확인란 컨트롤을 선택합니다.Check the check box control which is now enabled.

  10. SimpleWPFApp 응용 프로그램을 닫습니다.Close the SimpleWPFApp application.

  11. UIMap – 코딩된 UI 테스트 빌더 대화 상자에서 코드 생성을 선택합니다.On the UIMap - Coded UI Test Builder dialog, choose Generate Code.

  12. 메서드 이름 상자에 SimpleAppTest를 입력하고 추가 후 생성을 선택합니다.In the Method Name box, type SimpleAppTest and choose Add and Generate. 그러면 몇 초 안에 코딩된 UI 테스트가 나타나고 솔루션에 추가됩니다.In a few seconds, the coded UI test appears and is added to the solution.

  13. UIMap – 코딩된 UI 테스트 빌더를 닫습니다.Close UIMap - Coded UI Test Builder.

    CodedUITest1.cs 파일이 코드 편집기에 나타납니다.The CodedUITest1.cs file appears in the code editor.

  14. 프로젝트를 저장합니다.Save your project.

테스트 실행Run the 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. UIMap - 코딩된 UI 테스트 빌더를 사용하여 코드를 생성할 때마다 수정된 코드 변경 내용을 덮어씁니다.Any code changes you make will be overwritten every time you generate code using UIMap - Coded UI Test Builder. 기록된 메서드를 수정해야 하는 경우 해당 메서드를 UIMap.cs 파일에 복사하고 이름을 바꿉니다.If you have to modify a recorded method, copy it to the 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. CodedUITest.cs 파일에서 원래 메서드에 대한 참조를 제거하고 이름을 바꾼 메서드 이름으로 바꾸어야 합니다.You must remove the reference to the original method in the CodedUITest.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. 메서드를 다른 파일로 이동하면 테스트 코드를 다시 컴파일할 때 덮어쓰지 않는 사용자 지정 코드를 추가할 수 있습니다.Moving the method to a different file allows custom code to be added that 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'll no longer be able to edit the method using the Coded UI Test Editor. 를 선택합니다.Choose Yes.

    테스트 메서드가 UIMap.uitest 파일에서 제거되고 더 이상 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 Studio 도구 모음에서 저장을 선택합니다.On the Visual 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 SimpleWPFApp

  1. 디자이너의 MainWindow.xaml 파일에서 단추 컨트롤을 선택합니다.In the MainWindow.xaml file, in the designer, select the button control.

  2. 속성 창 상단에서 Name 속성 값을 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으로 매핑된 Button 컨트롤을 찾을 수 없으므로 테스트가 실패합니다.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 Test Explorer, 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));
    

    이 절차 앞부분의 코드 줄에서는 리팩터링되기 전의 UIMap 이름인 UiStartButton을 사용합니다.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.

리팩터링된 컨트롤 테스트 다시 실행 매핑Map refactored control rerun the 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 dialog, drag the crosshair tool to the Start button on SimpleWPFApp.

    시작 단추는 파란색 상자로 둘러싸여 있습니다.The Start button is enclosed in a blue box. 코딩된 UI 테스트 빌더에서 선택된 컨트롤의 데이터를 처리하고 컨트롤 속성을 표시하는 데 몇 초가 걸립니다.Coded UI Test Builder takes a few seconds to process the data for the selected control and display the control's properties. AutomationUId의 값은 buttonA로 지정됩니다.Notice that the value of AutomationUId is 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 dialog, choose Generate Code.

    새 메서드가 필요하지 않으며 UI 컨트롤 맵의 변경 내용에 대해서만 코드가 생성될 것이라는 메모와 함께 코딩된 UI 테스트 빌더 – 코드 생성 대화 상자가 나타납니다.The Coded UI Test Builder - Generate Code dialog 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를 닫습니다.Close SimpleWPFApp.

  9. UIMap – 코딩된 UI 테스트 빌더를 닫습니다.Close UIMap - Coded UI Test Builder.

  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 파일에서 생성자를 추가하고 "buttonA": 값을 가진 AutomationID 속성을 사용하도록 UIStartButton 속성의 SearchProperties 속성을 지정합니다.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 see a status of Passed.

비디오Videos

비디오 링크 Getting started with Coded UI tests(코딩된 UI 테스트 시작)link to video Getting started with Coded UI tests

비디오 링크 Maintenance And debugging of coded UI tests(코딩된 UI 테스트 유지 관리 및 디버깅)link to video Maintenance And debugging of coded UI tests

비디오 링크 Hand coding coded UI tests(코딩된 UI 테스트 수동 코딩)link to video Hand coding coded UI tests

FAQFAQ

코딩된 UI 테스트 FAQCoded UI Tests FAQ

참고 항목See also