반응형

UI 자동화 23

[소프트웨어 접근성] 초점 제어기 만들기 실습

[소프트웨어 접근성] 초점 제어기 만들기 실습 이번에는 SetFocus 메서드를 이용하여 원하는 자동화 요소로 초점을 옮기는 프로그램을 작성합시다. [그림] 초점 제어기 실행화면 초점 제어기를 만들기 전에 타겟 데모 응용 프로그램을 만들기로 합시다. 타겟 데모 응용 프로그램은 12개의 버튼이 있고 1개의 Label이 있습니다. 이 프로그램은 버튼에 초점이 오면 어느 버튼에 초점이 왔는지 Label에 표시하는 응용 프로그램입니다. 먼저 Windows Forms 응용 프로젝트를 생성하세요. 그리고 Form1에 버튼 12개와 Label 1개를 배치하세요. 그리고 Label의 이름 속성을 lb_focus로 설정합니다. Fom1의 FormLoad 이벤트 핸들러를 추가하여 각 버튼에 초점이 왔을 때 lb_focus..

[S/W 접근성] ValuePattern, WindowPattern

ValuePattern Value 패턴은 컨트롤 내에 내장 데이터를 갖는 컨트롤에서 지원하는 패턴입니다. System.Object System.Windows.Automation.BasePattern System.Windows.Automation.ValuePattern 네임스페이스: System.Windows.Automation 어셈블리: UIAutomationClient(UIAutomationClient.dll) ValuePattern의 Current 및 Cached 속성으로 ValuePatternInformation 구조체를 접근할 수 있습니다. 그리고 ValuePatternInformation 구조체에는 읽기 전용인지 확인하거나 값을 가져오기 할 수 있는 속성을 제공합니다. 속성명 설명 CanMaxi..

[S/W 접근성] TogglePattern, TransformPattern

TogglePattern TogglePattern은 변할 수 있는 상태의 집합에서 순환 형태로 상태를 설정하는 컨트롤에서 지원하는 패턴입니다. System.Object System.Windows.Automation.BasePattern System.Windows.Automation.TogglePattern 네임스페이스: System.Windows.Automation 어셈블리: UIAutomationClient(UIAutomationClient.dll) TogglePttern의 Current 및 Cached 속성으로 TogglePatternInformation 구조체를 접근할 수 있습니다. 그리고 TogglePatternInformation 구조체에는 Toggle 상태를 가져오기 할 수 있는 속성을 제공합..

[S/W 접근성] TextPattern

TextPattern TextPattern은 텍스트 박스처럼 내부에 텍스트를 갖을 수 있는 컨트롤의 패턴입니다. TextPattern 클래스에서는 텍스트 범위와 선택 영역 지원 형식을 가져오는 속성을 제공합니다.public TextPatternRange DocumentRange { get; };public SupportedTextSelection SupportedTextSelection { get; }; TextPatternRange 클래스는 텍스트의 범위를 나타내는 형식입니다. TextPatternRange 클래스에서는 다양한 메서드를 제공합니다.public void AddToSelection();public bool Compare( TextPatternRange range);public int Com..

[소프트웨어 접근성 동영상 강의] UI 자동화, 기술 실습1. 포커스 추적기

UI 자동화, 기술 실습1. 포커스 추적기 강의 내용 소프트웨어 접근성을 제공하기 위한 UIAutomation 기술을 이용하여 포커스(초점)가 바뀔 때마다 포커스를 소유한 자동화 요소의 이름을 출력하는 콘솔 응용 프로그램입니다.사용 언어는 C#이며 UIAutomation 기술의 Hello, World 프로그램이라고 볼 수 있습니다. 소프트웨어 접근성, UI 자동화 기술 게시판에서 학습하기

[S/W 접근성] MultipleViewPattern, RangeValuePattern

5.2.6 MultipleViewPattern MultipleViewPattern은 리스트 컨트롤처럼 정보 집합이나 컨트롤들을 다른 방식으로 보여줄 수 있는 컨트롤 패턴입니다. System.Object System.Windows.Automation.BasePattern System.Windows.Automation.MultipleViewPattern 네임스페이스: System.Windows.Automation 어셈블리: UIAutomationClient(UIAutomationClient.dll) MultipleViewPattern의 Current 및 Cached 속성으로 MultipleViewPatternInformation 구조체를 접근할 수 있습니다. 그리고 MultipleViewPatternInfo..

[S/W 접근성] InvokePattern 요소 제어하기 실습 (WrapLib 클래스 라이브러리 만들기)

InvokePattern 요소 제어하기 실습 (WrapLib 클래스 라이브러리 만들기) 앞으로 많은 곳에서 Process를 래핑하거나 자동화 요소를 래핑하는 등의 작업은 중복해서 발생합니다. 매 번 같은 작업을 하는 것은 효과적이지 않아 클래스 라이브러리를 만들어서 사용하기로 할게요. 앞으로 이 라이브러리는 추가 및 변경할 때에만 언급하기로 할게요. 먼저 WrapLib 이름으로 클래스 라이브러리를 추가하세요. [그림] 클래스 라이브러리 생성 UI 자동화 기술에 관한 .NET 어셈블리를 참조 추가하세요. 솔루션 탐색기의 프로젝트 참조 노드에 오른쪽 마우스 버튼을 클릭하였을 때의 컨텍스트 메뉴에서 참조 추가하세요. [그림] 참조 추가 기본으로 제공하는 Class1.cs 파일의 속성을 WrapProcess로 ..

[S/W 접근성] InvokePattern

5.2.5 InvokePattern InvokePattern은 버튼처럼 최종 사용자의 명령을 수행할 수 있는 컨트롤 패턴입니다. InvokePattern 클래스에는 Invoke 메서드를 제공하여 프로그램 방식으로 InvokePattern 개체에게 명령을 전달할 수 있습니다. 그리고 정적 필드로 InvokedEvent를 제공하여 컨트롤을 호출하는 것을 감지할 수 있습니다.Automation.AddAutomationEventHandler(InvokePattern.InvokedEvent, ae, TreeScope.Element, new AutomationEventHandler(OnInvoke)); 자동화 이벤트 핸들러에 대리할 수 있는 메서드의 시그니쳐는 다음과 같습니다. void OnInvoke(object..

[S/W 접근성] 컨트롤 패턴 종류

5. 컨트롤 패턴 UI 자동화 기술에서는 컨트롤을 사용할 수 있는 기능에 따라 컨트롤 패턴을 정의하여 패턴마다 메서드, 속성, 이벤트 등을 제공하고 있습니다. UI 자동화 평가 도구나 클리이언트 응용에서는 자동화 요소가 어떠한 컨트롤 패턴인지 확인하여 해당 컨트롤 패턴에서 제공하는 메서드를 이용하여 컨트롤의 기능을 프로그램 방식으로 제어하거나 속성이나 이벤트로 컨트롤의 상태를 확인할 수 있습니다. 5.1 컨트롤 패턴 종류 UI 자동화 기술에서는 컨트롤을 사용할 수 있는 독립적인 기능들을 컨트롤 패턴으로 정의하였습니다. 서로 다른 컨트롤이 같은 기능을 제공하는 경우도 있기 때문에 컨트롤과 컨트롤 패턴은 1:1 매핑 관계가 아닙니다. 하나의 컨트롤이 여러 컨트롤 패턴에 해당할 수도 있고 컨트롤 상태에 따라 ..

[S/W 접근성] AutomationElement 메서드(속성 검색)

이번에는 자동화 요소 개체로 속성을 검색하는 메서드를 살펴봅시다.public Object GetCachedPropertyValue ( AutomationProperty property);public Object GetCachedPropertyValue ( AutomationProperty propery, bool ignore);public Object GetCurrentPropertyValue ( AutomationProperty property);public Object GetCurrentPropertyValue ( AutomationProperty propery, bool ignore);public AutomationProperty[] GetSupportedProperties ( ); 다음은 자동화 ..

반응형