公司产品主要是 Windows App,最近用 PywinAuto 和 Uiautomation 进行了自动化测试的尝试。
从易用性和易使用 上,个人觉得 Uiautomation 更加好用。

并且自带控件查看工具,比 Windows 自带的 Inspector.exe 更加好用:
运行 CMD,输入 automation.py -t3 回车,然后 3 秒内切换到应用界面。

automation.py –t3, 3 秒后遍历当前窗口所有控件
automation.py –d2 –t3, 3 秒后遍历当前窗口前三层控件
automation.py –r –d1 –t0 -n, 0 秒后遍历 root 的第一层子控件,并显示控件完整名称
automation.py –c –t3, 3 秒后遍历鼠标光标下面的控件信息
automation.py –c –t3 -d-2, 3 秒后遍历鼠标光标下面的控件向上两层的父控件

安装

pip install uiautomation

程序启动

subprocess.Popen(args='D:\Release\Higemi.exe',cwd=r"D:\Release")

窗口定位

cas = automation.WindowControl(searchDepth=1, AutomationId='myMainWindow', Name='Login')

控件定位

login=cas.ButtonControl(AutomationId ="btn_login")

鼠标动作

automation.Win32API.MouseClick(600,250)
automation.Win32API.MouseWheelDown(2)

窗口或控件的等待

#在超时时间内寻找指定的窗口或控件,找不到则抛出异常
automation.WaitForExist(cas, 3) 

Uiautomation 相关文章:

Windows GUI 自动化测试技术的比较和展望:https://blog.csdn.net/vagabond1/article/details/5648902
开源自己用 python 封装的一个 Windows GUI(UI Automation) 自动化工具,支持 MFC,Windows Forms,WPF,Metro,Qt :http://www.cnblogs.com/Yinkaisheng/p/3444132.html
Github 地址:https://github.com/yinkaisheng/Python-UIAutomation-for-Windows
下载地址:https://pypi.org/project/uiautomation/#history


↙↙↙阅读原文可查看相关链接,并与作者交流