방법: 코딩된 UI 테스트 만들기

Visual Studio Premium 또는 Visual Studio Ultimate에서 코딩된 UI 테스트를 만들고 이를 통해 응용 프로그램의 사용자 인터페이스가 올바르게 작동하는지 테스트할 수 있습니다. 코딩된 UI 테스트에서는 응용 프로그램의 사용자 인터페이스 컨트롤에 대한 작업을 수행하고 올바른 컨트롤에 올바른 값이 표시되는지 확인합니다. 코딩된 UI 테스트에서 지원하는 플랫폼 및 구성에 대한 자세한 내용은 코딩된 UI 테스트 및 작업 기록에 지원되는 구성 및 플랫폼을 참조하십시오.

코딩된 UI 테스트를 만들면 테스트와 관련된 UIMap 개체가 생성됩니다. 이 개체는 UI에 포함되거나 테스트 기록 중에 사용자가 만든 창, 컨트롤, 매개 변수 및 어설션을 나타냅니다. 이러한 UI 개체에 대한 작업을 수행하여 사용자 인터페이스를 자동화할 수 있습니다. 예를 들어 테스트 메서드를 통해 웹 응용 프로그램의 하이퍼링크를 클릭하거나, 테스트 상자에 값을 입력하거나, 필드 값을 기준으로 분기하여 각기 다른 테스트 작업을 수행하도록 처리할 수 있습니다.

참고

코딩된 UI 테스트와 UI 맵 개체 및 파일을 여러 개 추가하면 대규모 응용 프로그램을 쉽게 테스트할 수 있습니다. 자세한 내용은 여러 UI 맵이 포함된 대형 응용 프로그램 테스트를 참조하십시오.

코딩된 UI 테스트 클래스는 해당 클래스에 적용된 CodedUITestAttribute로 식별됩니다.

각각의 코딩된 UI 테스트는 코딩된 UI 테스트 클래스의 테스트 메서드입니다. 코딩된 UI 테스트 클래스 각각에 여러 개의 테스트 메서드를 추가하고 TestMethodAttribute를 사용하여 코딩된 UI 테스트 메서드를 각각 식별할 수 있습니다.

테스트 메서드를 통해 UI 테스트 컨트롤에 대한 유효성 검사 코드를 추가하여 UI 테스트 컨트롤의 속성 값을 구할 수도 있습니다. 테스트 메서드에 Assert 문을 사용하여 속성의 실제 값을 예상 값과 비교할 수 있습니다. 이 비교 결과를 통해 테스트 결과를 확인할 수 있습니다. 코딩된 UI 테스트를 실행할 때마다 테스트 결과를 분석할 수 있고, 테스트가 실패한 경우 실패한 어설션에 대한 자세한 정보를 보거나 저장할 수 있습니다.

코딩된 UI 테스트를 만들면 다음과 같은 파일이 테스트 프로젝트에 추가됩니다.

파일

설명

CodedUITest1.cs

코딩된 UI 테스트 클래스, 테스트 메서드 및 어설션을 포함합니다.

UIMap.uitest

모든 창, 컨트롤, 속성, 메서드, 매개 변수, 작업 및 어설션을 포함한 UIMap 클래스의 XML 모델을 포함합니다.

UIMap.Designer.cs

UIMap.uitest 파일에 포함된 XML의 코드 표현을 포함합니다. 이 파일은 편집하지 마십시오.

UIMap.cs

UIMap 클래스의 추가 코드를 포함합니다. UI 맵에 대한 모든 사용자 지정 작업은 이 파일에서 수행할 수 있습니다.

다음은 테스트 프로젝트에 참조로 추가되는 어셈블리입니다.

  • Microsoft.VisualStudio.QualityTools.CodedUITestFramework

  • Microsoft.VisualStudio.QualityTools.UnitTestFramework

  • Microsoft.VisualStudio.TestTools.UITest.Common

  • Microsoft.VisualStudio.TestTools.UITest.Extension

  • Microsoft.VisualStudio.TestTools.UITesting

코딩된 UI 테스트를 만들려면

코딩된 UI 테스트를 만들려면

  1. 다음 작업 중 하나를 수행합니다.

    1. 솔루션 탐색기에서 테스트 프로젝트를 마우스 오른쪽 단추로 클릭하고 추가를 가리킨 다음 코딩된 UI 테스트를 클릭합니다.

    2. 테스트 목록 편집기테스트 뷰에서 창을 마우스 오른쪽 단추로 클릭하고 새 테스트를 클릭합니다. 새 테스트 추가 대화 상자에서 코딩된 UI 테스트를 클릭한 다음 확인을 클릭합니다.

    3. 테스트 메뉴에서 새 테스트를 클릭합니다. 새 테스트 추가 대화 상자에서 코딩된 UI 테스트를 클릭한 다음 확인을 클릭합니다.

    코드 생성 대화 상자가 나타납니다.

  2. 이 대화 상자에서 코딩된 UI 테스트의 UI 테스트 컨트롤을 만드는 데 사용할 방법을 선택합니다.

    메서드

    동작

    다음 단계

    테스트 대상 응용 프로그램의 작업을 기록하거나, UI 맵을 수정하거나, 어설션을 추가합니다.

    작업 기록, UI 맵 편집 또는 어설션 추가를 클릭합니다.

    방법: 테스트 중인 응용 프로그램을 기록하여 코딩된 UI 테스트 생성

    기존 작업 기록을 사용합니다.

    기존 작업 기록 사용을 클릭합니다.

    방법: 작업 기록에서 코딩된 UI 테스트 생성

    어떤 방법을 사용하건 테스트 프로젝트에 [CodedUITest] 특성을 포함하는 코딩된 UI 테스트 클래스가 만들어지고 이 클래스에 대한 파일이 열립니다. 클래스는 [TestMethod] 특성이 있는 테스트 메서드로 채워집니다. 테스트 프로젝트의 새 테스트 파일이 솔루션 탐색기에 표시됩니다.

    참고

    취소를 클릭하더라도 코딩된 UI 테스트 클래스가 만들어집니다. 이 경우 코딩된 UI 테스트를 만들려면 이 클래스에 코드를 수동으로 추가해야 합니다. 또는 다음 단계 열에 나와 있는 절차의 단계에 따라 표에 나열된 다른 방법을 사용할 수도 있습니다.

예제

다음 코드 예제에서는 코딩된 UI 테스트 클래스와 테스트 메서드를 보여 줍니다. 여기서는 테스트 범주 값으로 Priority1이 할당되어 있습니다. 테스트 메서드는 숫자 두 개를 더하는 간단한 계산기 응용 프로그램을 대상으로 합니다. 숫자의 합이 올바른 것으로 확인되면 이 테스트를 통과합니다.

두 개의 UI 맵 메서드 AddTwoNumbers() 및 AssertForAdd()에 대한 코드는 UI 맵의 편집할 수 없는 부분에 있으므로 직접 편집할 수 없습니다. 그러나 UI 맵의 생성된 코드를 복사한 후 CodedUITest1 클래스에서 이를 수정하고 대체 또는 추가 메서드를 만들 수 있습니다. 자세한 내용은 최선의 코딩된 UI 테스트 방법을 참조하십시오.

특정 데이터를 사용하여 코딩된 UI 테스트를 만든 다음 매번 데이터 집합을 바꿔 가며 코딩된 UI 테스트를 여러 차례 실행하여 각기 다른 조건을 테스트할 수 있습니다. 이렇게 하려면 데이터 소스의 매개 변수를 코딩된 UI 테스트에 추가하여 데이터 기반의 코딩된 UI 테스트를 만들면 됩니다. 자세한 내용은 방법: 데이터 기반 코딩된 UI 테스트 만들기를 참조하십시오.

[CodedUITest]
public class CodedUITest1
{
    public CodedUITest1()
    {
    }

    [TestCategory("Priority1"), TestMethod]
    public void CodedUITestMethod1()
    {
        // To generate code for this test, select "Generate Code" from 
        // the shortcut menu and select one of the menu items.
        this.UIMap.AddTwoNumbers();
        this.UIMap.AssertForAdd();
    }
}

참고 항목

참조

UIMap

Assert

개념

자동화된 UI 테스트를 사용하여 사용자 인터페이스 테스트

최선의 코딩된 UI 테스트 방법

코딩된 UI 테스트 및 작업 기록에 지원되는 구성 및 플랫폼

기타 리소스

여러 UI 맵이 포함된 대형 응용 프로그램 테스트