UI Automation

在Windows中实现UI自动化的特点是基于组件对象模型(COM)的接口和托管接口。

UIAutomation库的定义范围不仅局限于提供界面控件的定义,他还提供了如下的功能:

  • 一种对象模型和函数,使客户端应用程序能够轻松地接收事件、检索属性值和操作UI元素
  • 用于跨流程边界查找和获取的核心基础架构
  • 提供程序的一组接口,用于表示UI元素的树结构、常规属性和功能
  • 一种“控件类型”属性,允许客户端和提供者清楚地描述UI对象的公共属性、功能和结构

同时UIAutomation库通基于Microsoft Active Accessibility优化了以下功能:

  • 实现进程外客户端访问被测应用进程
  • 以允许客户端脱离进程的方式暴露有关UI的更多信息

UIAutomation Python库

该模块用于实现Windows操作系统的自动化测试(Windows XP with SP3, Windows Vista, Windows 7 and Windows 8/8.1/10)。可以支持针对实现了UIAutomation Provider的应用程序进行全方面的界面自动化测试的能力,如MFC, Windows Form, WPF, Modern UI(Metro UI), Qt(Partly), Firefox, Chrome and Electron。

通过pip安装uiautomation:

Copy to Clipboard

Microsoft UIAutomation最低支持客户端版本:Windows 7, Windows Vista SP2, Windows XP SP3

Microsoft UIAutomation最低支持服务器版本:Windows server 2008 R2, Windows server 2008 SP2, Windows server 2003 SP2

检索控件

可以使用名为“AutomationSpy”的工具为屏幕上的任何元素生成定位器标识符和属性。首先,使用手动启动AutomationSpy应用程序。

将鼠标指针悬停到某一控件,按住键盘上的ctrl 键约三秒,AutomationSpy将找到定位器信息,并显示标识符和属性。

运行测试

Copy to Clipboard