UI 자동화에는 자동화 요소를 효과적으로 탐색할 수 있게 UI 자동화 트리를 제공합니다.
자동화 요소는 프로세스의 동작에 따라 새로운 요소들을 추가하거나 제거 및 변경할 수 있으며 매우 복잡한 구조를 갖고 있습니다.
UI 자동화 트리에서 원하는 조건으로 필터링하면 원하는 자동화 요소들로 구성한 뷰를 만들 수 있습니다. 접근성 평가 도구나 보조 기술을 제작하는 개발자는 필요한 범위와 조건을 지정하여 원하는 자동화 요소로 구성한 트리 뷰를 만들어서 사용하는 것은 필수적인 작업일 수 있습니다. 이를 사용하지 않는다면 복잡하고 동적인 구조에서 수 많은 오류에 직면할 수 있습니다.
UI 자동화 트리에서는 데스크톱을 루트로 하여 모든 자동화 요소로 구성한 Raw 뷰와 사용자와 상호 작용에 중요한 역할을 하는 컨트롤로 구성한 컨트롤 뷰, UI 항목의 레이블이 아닌 텍스트 등의 실제 정보를 전달하는 역할의 콘텐츠로 구성한 콘텐츠 뷰가 있습니다.
Raw 뷰는 필터링을 하지 않은 전체 집합이라고 한다면 컨트롤 뷰와 콘텐츠 뷰는 Raw 뷰의 부분 집합이라 할 수 있습니다.
UI 자동화 기술에서는 세 가지의 트리 뷰를 사용할 수 있게 TreeWalker 클래스를 제공하며 정적 필드로 RawViewWalker, ControlViewWalker, ContentViewWalker를 제공합니다.
TreeWalker tw = TreeWalker.RawViewWalker;