Appium目前无法提供Windows程序的自动化测试功能,但是微软官方开发了一个WinAppDriver,可以代替appium实现JSON wire协议。安装Appium Client后,就可以按照写移动自动化测试一样进行下去了。
1. 安装Inspect定位界面元素
Inspect是微软官方出品的一个检查工具,可以检查当前环境下(包含所有图形界面程序)所有界面元素组成层次及其属性。
Inspect.exe 一般存在于C:\Program Files (x86)\Windows Kits\10\bin\x86目录下,除了x86目录,其实arm64/x64等目录下也有这个程序,只是实践中尚未发现32位版的inspect.exe有何不足。
如果找不到Windows Kits这个目录,需要通过安装较新版本的Visual Studio获得
2. 启用 Developer Mode (开发者模式)
唯有启用Developer Mode,才能够使我们的程序能够检查界面元素及操纵界面。
进入设置,查找Developer Mode即可:
如果遇到错误 Developer Mode package failed to install. Error code: 0x80004005,需要按照以下步骤解决:
- Win + R ,输入regedit 打开注册表
- 找到以下键值:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU
- 在右侧面板找到一个叫做UseWUServer的DWORD值,它的值可能是1. 双击修改该值为0
- 重启机器
- 再次进入“设置”尝试一次
3. 安装Appium Client
事实上我做的尝试是安装了整个appium外加client。由于这方面文档很多,不提也罢
4. 运行test
请参阅这个Git库中的示例。其中展示了一个操纵计算器进行计算并验证的case。
5. 设定正确的app id
如果程序是exe形式的,那么直接提供绝对路径的exe就可以了
如果程序是Windows App形式提供的,除了由开发提供之外,这个id可以通过Task Manager -> App ->右键点击Properties来获得。
6. 远程调试平板程序
- 在平板上安装WinAppDriver
- 按照以下步骤打开4723端口,接受外部连接: