微软UI Automation

MS UI Automation(Microsoft User Interface Automation:UIA)随.NET Framework一起发布。

什么是MS UI Automation:

MS UI Automation是MSAA技术的一个替代品:即让控件和应用程序具有更好的可达性(accessible),它就是几个dll,提供了一套API和Interface及其相应的模式,让软件的开发者遵循该模式去实现相应的interface,从而软件的使用者(不仅仅是客户,还包括例如测试人员想编写一些自动化测试代码来完成程序相关的业务逻辑)能更好的使用该软件。

和原来的MSAA相比较:UIA重新设计了一套架构,无论是对传统的winform,还是新的wpf,定义了一套统一的模型;其API的使用也相对更简单;同时,和.NET Framework一起,也有inspect.exe和UIA Verify的工具来辅助大家来使用UIA。

UIA之架构

MS UIA明确定义了两个role:

(1)UIA Provider即软件本身,主要是软件的开发人员依据相应的模式去实现相关的interface。对于标准控件而言,默认是支持UIA的,而对于自定义的控件,需要实现该控件的行为对应于UIA所定义的interface。

(2)UIA Client即自动化脚本和相关的assistive technology applications,从测试人员的角度出发,主要是调用相应的API去实现自动化测试脚本

UIA主要有4个DLL:

(1)UIAutomationProvider.dll,定义了各种行为的interface,例如,假设有个自定义的控件,开发人员觉得它需要支持Dock行为,就需要实现IDockProvider接口。

(2)UIAutomaitonClient.dll,定义了各种控件模式,以及一些用来支持更好的定位控件的辅助条件搜索类。

(3)UIAutomationCore.dll则是用来支持UIA provider和client之间的通信的。

(4)UIAutomationClientssideProviders.dll则主要是用来支持传统的winform的标准控件的。

4 weeks ago, this page was being read.

,

Subscribe to Comments