公司产品主要是 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