(一)Windows GUI自动化测试常用工具
Tool |
Comment |
主要封装框架 |
AutoIT |
Win32应用 |
Windows API |
Pywinauto |
一个python库,PC端自动化工具 |
Windows API, UI Automation |
UI Automation |
PC端自动化工具 |
UI Automation, Windows API |
Sikuli |
图形自动化 |
|
Winum |
支持Windows应用程序自动化,基于selenium,但API不完整,不够成熟,支持mobile |
|
UI自动化是一个ROI较低的测试项(ROI即return on investment,中文意思是投资回报率)。但UI自动化相比接口自动化、白盒测试等,它更贴近手工业务测试行为。对于刚起步效率提升的团队来说,是最迅速的切入点,也是广大黑盒tester,提升自身技术能力的起跑线。
(二)应用程序的可访问技术
支持控件的访问技术:
1. Win32 API(backend =’win32’)
MFC,VB6,VCL简单的WinForms控件和大多数旧的应用程序
2. MS UI Automation API(backend =’uia’)
WinForms,WPF, Store apps,Qt5, IE…(Metro App…)
- 控件是自绘出来的,没有句柄的概念
(三)PC 端自动化测试使用到的 python 模块
1.主要有 pywinauto、win32gui、pyautogui,主要功能如下:
- pywinauto:主要使用到 Application 类,用于应用程序管理(打开与关闭应用等)、窗口管理(最小化、最大化、关闭窗口)
- pywin32:包含 win32gui、win32api、win32con 3个子模块,用于窗口管理(定位窗口、显示和关闭窗口、获取窗口位置等)
- pyautogui:屏幕控制(截屏等)、鼠标控制(移动鼠标、单击、双击、右击、拖拽等)、键盘控制(编辑、按键等)
2. uiautomation,中国人封装的一个库:
- uiautomation:用Python和C++对UIAutomation做了一层封装,通过句柄,坐标位置对应用进行操作
比如python的两个模块pywinauto和uiautomation,但是pywinauto主要是封装Win32的api,只局限于winform框架,而python中的uiautomation其实是封装的windows中的uia框架。