문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

UI Automation Overview

 
System_CAPS_note참고

이 설명서는 System.Windows.Automation 네임스페이스에 정의된 관리되는 UI 자동화 클래스를 사용하려는 .NET Framework 개발자를 위한 것입니다.UI 자동화에 대한 최신 정보는 Windows 자동화 API: UI 자동화를 참조하세요.

Microsoft UI 자동화은 Microsoft Windows에 대한 새로운 접근성 프레임워크이며, WPF(Windows Presentation Foundation)를 지원하는 모든 운영 체제에서 사용할 수 있습니다.

UI 자동화은 데스크톱에 있는 대부분의 UI(사용자 인터페이스) 요소에 대해 프로그래밍 방식의 액세스 권한을 제공하여, 화면 읽기 프로그램과 같은 보조 기술 제품에서 최종 사용자에게 UI에 관련 정보를 제공하고 표준 입력 이외의 방법으로 UI을 조작하도록 할 수 있습니다. 또한 UI 자동화은 자동화된 테스트 스크립트가 UI와 상호 작용할 수 있도록 합니다.

System_CAPS_note참고

UI 자동화은 Run as 명령을 통해 다른 사용자가 시작한 프로세스 간의 통신을 활성화하지 않습니다.

UI 자동화 클라이언트 응용 프로그램이 여러 프레임워크에서 작동되도록 작성할 수 있습니다.UI 자동화 코어가 다양한 UI 항목의 기반이 되는 프레임워크에서 모든 차이점을 마스크합니다. 예를 들어, WPF 단추의 Content 속성, Win32 단추의 Caption 속성, HTML 이미지의 ALT 속성은 모두 UI 자동화 뷰에서 단일 속성 Name에 매핑됩니다.

UI 자동화은 Windows Vista, Microsoft Windows XP 및 Windows Server 2003에서 전체 기능을 제공합니다.

UI 자동화 공급자는 기본으로 제공되는 브리징 서비스를 통해 Microsoft Active Accessibility 클라이언트 응용 프로그램에 대한 일부 지원을 제공합니다.

UI 자동화에는 다음 표에서와 같이 4개의 주요 구성 요소가 있습니다.

구성 요소

설명

공급자 API(UIAutomationProvider.dll 및 UIAutomationTypes.dll)

UI 자동화 공급자가 구현하는 인터페이스 정의 집합으로서, UI 요소에 대한 정보를 제공하고 프로그래밍 방식으로 입력에 응답하는 개체입니다.

클라이언트 API(UIAutomationClient.dll 및 UIAutomationTypes.dll)

UI 자동화 클라이언트 응용 프로그램이 UI에 대한 정보를 가져오고 입력을 컨트롤에 보내도록 하는 관리되는 코드의 형식 집합입니다.

UiAutomationCore.dll

공급자와 클라이언트 간의 통신을 처리하는 기본 코드입니다(UI 자동화 코어라고도 함).

UIAutomationClientsideProviders.dll

표준 레거시 컨트롤에 대한 UI 자동화 공급자의 집합입니다. (WPF 컨트롤에는 UI 자동화에 대한 기본 지원이 있습니다.) 이 지원은 클라이언트 응용 프로그램에서 자동으로 사용할 수 있습니다.

소프트웨어 개발자의 관점에서 UI 자동화을 두 가지 방법으로 사용할 수 있습니다. 사용자 지정 컨트롤에 대한 지원을 생성하거나(공급자 API 사용) UI 자동화 코어를 사용하여 UI 요소와 통신하는 응용 프로그램을 생성합니다(클라이언트 API 사용). 관점에 따라 다르지만, 설명서의 여러 부분을 참조해야 합니다. 다음 섹션에서 개념에 대해 자세히 알아보고 실용적인 방법에 대한 지식을 얻을 수 있습니다.

단원

실무

대상 사용자

UI Automation Fundamentals (이 섹션)

개념에 대한 광범위한 개요입니다.

모두.

UI Automation Providers for Managed Code

공급자 API 사용에 도움을 주는 개념 및 방법에 대한 항목입니다.

컨트롤 개발자입니다.

UI Automation Clients for Managed Code

클라이언트 API 사용에 도움을 주는 개념 및 방법에 대한 항목입니다.

클라이언트 응용 프로그램 개발자.

UI Automation Control Patterns

공급자가 컨트롤 패턴을 구현하는 방법 및 클라이언트에 사용 가능한 기능에 대한 정보입니다.

모두.

UI Automation Text Pattern

공급자가 Text 컨트롤 패턴을 구현하는 방법 및 클라이언트에 사용 가능한 기능에 대한 정보입니다.

모두.

UI Automation Control Types

다른 컨트롤 형식에서 지원하는 속성 및 컨트롤 패턴에 대한 정보입니다.

모두.

다음 표에서는 UI 자동화 네임스페이스, 네임스페이스를 포함하는 DLL, 네임스페이스를 사용하는 대상을 나열하여 보여줍니다.

namespace

참조되는 DLL

대상 사용자

System.Windows.Automation

UIAutomationClientUIAutomationTypes

UI 자동화 클라이언트 개발자. AutomationElement 개체를 찾고, UI 자동화 이벤트를 등록하고, UI 자동화 컨트롤 패턴을 작업하는 데 사용됩니다.

System.Windows.Automation.Provider

UIAutomationProviderUIAutomationTypes

WPF가 아닌 프레임워크의 UI 자동화 공급자 개발자.

System.Windows.Automation.Text

UIAutomationClientUIAutomationTypes

WPF가 아닌 프레임워크의 UI 자동화 공급자 개발자. TextPattern 컨트롤 패턴을 구현하는 데 사용됩니다.

System.Windows.Automation.Peers

PresentationFramework

WPF의 UI 자동화 공급자 개발자.

UI 자동화은 모든 UI 항목을 AutomationElement로 클라이언트 응용 프로그램에 노출합니다. 요소는 루트 요소로 데스크톱과 함께 트리 구조에 포함됩니다. 클라이언트는 트리의 Raw 보기를 컨트롤 뷰 또는 콘텐츠 뷰로 필터링할 수 있습니다. 응용 프로그램은 사용자 지정 뷰를 만들 수도 있습니다.

AutomationElement 개체는 이 개체가 나타내는 UI 요소의 공용 속성을 노출합니다. 이러한 속성 중 하나는 인식할 수 있는 단일 엔터티로 기본 모양과 기능을 정의하는 컨트롤 형식입니다(예: 단추 또는 확인란).

또한 요소는 해당 컨트롤 형식과 관련된 속성을 제공하는 컨트롤 패턴을 노출합니다. 컨트롤 패턴은 클라이언트가 요소에 대한 추가 정보를 수집하고 입력을 제공할 수 있는 메서드를 노출합니다.

System_CAPS_note참고

컨트롤 형식과 컨트롤 패턴 간에 일대일 대응이 없습니다. 단일 컨트롤 패턴은 여러 컨트롤 형식에서 지원될 수 있으며, 단일 컨트롤에는 각각 해당 동작의 다양한 측면을 노출하는 여러 컨트롤 패턴을 지원할 수 있습니다. 예를 들어, 콤보 상자에 둘 이상의 컨트롤 패턴이 있을 수 있으며 그중 하나는 확장 및 축소하는 기능을 나타내며 나머지 하나는 선택 메커니즘을 나타냅니다. 자세한 내용은 UI Automation Control Types을 참조하세요.

또한 UI 자동화은 이벤트를 통해 클라이언트 응용 프로그램에 정보를 제공합니다.WinEvents와는 달리, UI 자동화 이벤트는 브로드캐스트 메커니즘을 기반으로 하지 않습니다.UI 자동화 클라이언트는 특정 이벤트 알림을 등록하며, 이벤트 처리기에 전달되는 특정 UI 자동화 속성 및 컨트롤 패턴 정보를 요청할 수 있습니다. 또한 UI 자동화 이벤트에는 이 이벤트를 발생시킨 요소에 대한 참조가 들어 있습니다. 공급자는 모든 클라이언트가 수신 대기하고 있는지 여부에 따라 선택적으로 이벤트를 발생시켜 성능을 향상시킬 수 있습니다.

표시: