你可以查看现有的Windows Automation API : UI Automation,MSDN 文档
运行时要求
以下操作系统支持 UI 自动化:Windows XP、Windows Server 2003、Windows Server 2003 R2、Windows Vista、Windows 7、Windows Server 2008 和 Windows Server 2008 R2。
客户端应用程序,从简单的测试脚本到强大的记录和回放实用程序,可能需要访问当前未实例化的元素,例如文件打开对话框或菜单项,因此在 UI 自动化树中不存在。这些元素只能通过使用 UI 自动化属性(如 AutomationID、控制模式和事件侦听器)再现或“回放”特定的用户界面 (UI) 操作序列来实例化。有关使用 Microsoft UI 自动化根据用户与用户界面 (UI) 的交互生成测试脚本的示例,请参阅 Test Script Generator Sample。
您可以在现有的 Visual Studio 项目中使用AutomationIdProperty。
在测试应用程序中实现 UI 自动化
此处列出了 UI 自动化客户端所需的 UI 自动化 dll。
UIAutomationClient.dll 提供对 UI 自动化客户端 API 的访问。
UIAutomationClientSideProvider.dll 提供自动化 Win32 控件的能力。请参阅标准控件的 UI 自动化支持。
UIAutomationTypes.dll 提供对 UI 自动化中定义的特定类型的访问。
- 添加 System.Windows.Automation 命名空间。
此命名空间包含 UI 自动化客户端使用 UI 自动化功能所需的所有内容,但文本处理除外。
- 添加 System.Windows.Automation.Text 命名空间。
此命名空间包含 UI 自动化客户端使用 UI 自动化文本处理功能所需的一切。
自动化测试脚本在自动化树中定位代表感兴趣控件的 UI 自动化元素。
有多种方法可以通过代码获取 UI 自动化元素。
使用条件语句查询 UI。这通常是使用与语言无关的 AutomationIdProperty 的地方。
笔记
可以使用 UISpy.exe (UI Spy) 等工具获取 AutomationIdProperty,该工具能够逐项列出控件的 UI 自动化属性。
使用TreeWalker 类遍历整个 UI 自动化树或其子集。
跟踪焦点。
使用控件的 hWnd。
使用屏幕位置,例如鼠标光标的位置。
见Obtaining UI Automation Elements
控件模式公开了功能相似控件的常见行为。
找到需要测试的控件后,自动化测试脚本会从这些 UI 自动化元素中获取感兴趣的控件模式。例如,用于典型按钮功能的 InvokePattern 控件模式或用于窗口功能的 WindowPattern 控件模式。
请参阅 UI 自动化控制模式概述。
自动化测试脚本现在可以使用 UI 自动化控制模式公开的信息和功能从 UI 框架控制任何感兴趣的 UI。
相关工具和技术
有许多相关的工具和技术支持使用 UI 自动化进行自动化测试。
UISpy.exe (UI Spy) 是一个图形用户界面 (GUI) 应用程序,可用于为提供者和客户端开发和调试收集 UI 自动化信息。 UI Spy 包含在 Windows 软件开发工具包 (SDK) 中。
UIAutoCmd 是一个命令行工具,功能类似于 UI Spy。
MSAABridge 向 Active Accessibility 客户端公开 UI 自动化信息。将 UI 自动化连接到 Active Accessibility 的主要目标是让现有的 Active Accessibility 客户端能够与任何已实现 UI 自动化的框架进行交互。
安全
有关安全信息,请参阅 UI 自动化安全概述。