跳转至
本文阅读量

1. UI 自动化

1.1 历史

Microsoft Active Accessibility 是 Windows 95 引入的一套机制,UI Automation 是一套新机制,针对自动化及可接入方面做了很多增强

Active Accessibility RoleControl Type 之间的映射关系 参考这里 ⧉

1.2 概述

1.2.1 Accessibility

1.2.2 UI Automation

分为 .Net版本 ⧉原生版本 ⧉,原生版本通过一些列 COM 接口提供

1.3 Tree View

Tree View 的三种默认分类

  • RawView
  • ControlView
  • ContentView

Tree View 可以通过 范围(scoping)条件(filtering) 进行自定义和筛选。

  • 范围 是指比如查找的是元素的直接子节点,还是所有后代节点;
  • 条件 是指如 Element 的类型

1.4 什么是 Control Type

1.5 什么是 Control Pattern

相当于按照常见 UI 呈现方式归类的一些接口,比如 Grid 有 RowCount, ColumnCount, GetItem 等接口行为。

不同的 Windows Control Type 都支持哪些 Control Patterns 可以在如下地址查阅 Control Types and Their Supported Control Patterns ⧉

Info

Control TypeControl Pattern 之间并不是一一对应的关系

1.6 Property

Property 分为三种

PropertyId 的定义类表 参考这里 ⧉

1.7 什么是 Event

都支持哪些事件,参考这里 https://learn.microsoft.com/en-us/windows/win32/winauto/uiauto-event-ids ⧉

UI Automation 事件不是基于广播机制。且不依赖 Windows 自身的时间路由(Event Routing)

订阅 UI Automation 事件 ⧉

1.8 参考

Client

Provider

探测工具