最近公司要求为Windows 端桌面应用进行UI自动化测试,之前都是针对web端进行的UI自动化测试或者在早期使用的是QTP(Quick Test Professional)做PC端的UI自动化测试,而基于"经费"紧张,优先选择开源的工具,所以选择了selenium + WinAppDriver来实现。
首先,整理了一个表格用于快速了解本UI自动化测试框架的主要的工具和它们的作用:
工具名 | 主要作用 | 备注 |
---|---|---|
WinAppDriver | Windows 应用程序驱动服务,提供自动化接口 | 需单独安装并启动,类似 Web 测试中的浏览器驱动 |
Selenium | 操作 Web 元素的核心库,用于发送指令到 WinAppDriver | 通过 WebDriver 协议与 WinAppDriver 通信 |
Appium-Python-Client | 一个让 Selenium 能与 Appium/WinAppDriver 通信的 Python 库 | 通常使用 webdriver.Remote 来连接 |
Accessibility Insights | 推荐的元素识别工具,用于定位界面元素 | 比传统的 Inspect.exe 更友好高效 |
包名 | 版本 |
---|---|
selenium | 3.141.0 |
urllib3 | 1.26.18 |
Appium-Python-Client | 1.2.0 |
🛠️ 环境搭建步骤
- 启用开发者模式:在 Windows 设置中开启“开发者模式”。
- 关闭防火墙
如果是远程连接(A计算机写代码,连接B计算机执行测试,被测系统安装在B计算机上)
则需要把WinAppDriver安装在B计算机上,打开开发者模式,并且关闭防火墙
-
安装 WinAppDriver:
- 从 GitHub 发布页面下载最新的
WinAppDriver.exe
。
WinAppDriver下载地址 - 建议将其安装路径添加到系统环境变量
Path
中,方便后续启动。
- 从 GitHub 发布页面下载最新的
-
启动WinAppDriver
本机启动
直接进入安装目录双击WinAppDriver.exe即可启动
远程启动,需要指定IP
-
以管理员身份打开cmd
-
启动
比如被测系统安装在机器B上,机器B的IP是:192.168.1.10,那么就写:WinAppDriver.exe 192.168.1.10 4723 -
安装元素识别工具:强烈推荐安装 Accessibility Insights for Windows,它比传统的
Inspect.exe
更直观易用。