■알아두면 좋은내용/C#

UI 자동화 지원

플라티너스 2024. 9. 19. 10:12

Telerik 社 의 AutomationManager 사용

 

사용 이유 : Microsoft UI Automation (UIA) 프레임 워크는 Win32, WinForms WPF 애플리케이션에서 대부분의

                  사용자 인터페이스 요소에 대한 프로그래밍 방식 액세스를 제공합니다.

                  주로 자동화된 UI 테스트 및 접근성 지원 목적으로 사용됩니다.

                  UIA 프레임워크는 모든 UI 구성 요소를 AutomationElement 개체로 노출합니다.

                  이러한 개체는 Windows 데스크톱이 루트 요소인 트리 구조를 구성합니다.

                  각 AutomationElement는 클라이언트가 상호 작용하는 방식을 정의하는 일련의 컨트롤 패턴을 노출합니다.

                  예를 들어, 요소가 ValuePattern을 정의하는 경우 클라이언트는 이 패턴을 가져와 ValuePattern 개체에

                  저장하고 해당 개체의 getValue setValue 메서드를 사용하여 UI 요소의 값(: 텍스트 상자의 텍스트)

                  액세스할 수 있습니다.

 

비활성화 하게되면 생기는 문제 : 기본적으로 컨트롤에는 UI 자동화 피어가 켜져 있고

                                                     해당 코드는 터치 디바이스에서 여러 번 호출됩니다.

                                                     비활성화하면  Code UI를 사용하여  테스트를 수행할 수 없습니다.

                                                     또한 MS 내레이터 도구나 자동화 피어를 사용하는 다른 최종 도구를 사용할 수

                                                     없습니다.

 

[사용 예시]

참조 에서의 화면
Using 에서의 사용
App.xaml 에서의 실제 사용 예

 

 

 

참고 Site : https://www.telerik.com/forums/automationmode