PC端自动化测试(一)
pywinauto:同时支持控件操作和图像操作,支持Win32 API和MS UI Automation API
A set of Python modules to automate the Microsoft Windows GUI
安装
- python3环境(python3.5以上)
- pip环境
1 | pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pywinauto |
应用程序的可访问技术
支持控件的访问技术
Win32 API(backend=“win32”) 默认的backend
MFC,VB6,VCL简单的WinForms控件和大多数旧的应用程序
MS UI Automation API(backend=“uia”)
WinForms,WPF,Store apps,Qt5,浏览器
进程数量
单进程
Application
作用范围是一个进程
跨进程
Desktop
作用范围可以跨进程
GUI对象检查工具
Inspect.exe
spy++.exe
ViewWizard
打开应用程序
1 | from pywinauto.application import Application |
连接已经打开的应用程序
- 通过进程号
- 通过窗口句柄
1 | app = Application('uia').connect(process=4444) |
选择指定的窗口
1 | # 方式一:app[类名/标题] :推荐使用该方式 |
操作窗口
1 | # 窗口最大化 |
选择控件
控件:窗口上的内容
1 | # 选择控件 |
控件的分类
- 状态栏 StatusBar
- 按钮 Button
- 单选框 RadioButton
- 组合框 ComboBox
- 编辑栏 Edit
- 列表框 ListBox
- 弹出菜单 PopupMenu
- 工具栏 Toolbar
- 树状视图 Tree View
- 菜单项 MenuItem
- 静态内容 Static
- 复选框 CheckBox
- 组框 GroupBox
- 对话框 Dialog
- 头部内容 Header
- 列表显示控件 ListView
- 选项卡控件 TabControl
- 工具提示 ToolTips
- 菜单 Menu
- 窗格 Pane