[pywinauto]电脑软件测试经验总结
1.环境配置
Pc自动化工具:pywinauto
直接cmd在终端输入:pip install pywinauto -i https://mirrors.ustc.edu.cn/pypi/web/simple
(我在实际工作中还用到音频判断的俩个包:librosa和 matplotlib,前者是音频识别的包,后面是音频转图片可视化的包)
命令下载:pip install librosa -i https://mirrors.ustc.edu.cn/pypi/web/simple ;
pip install matplotlib -i https://mirrors.ustc.edu.cn/pypi/web/simple
或者安装包直接执行,安装包在博客文件里。
python ./setup.py install
2.PC端元素定位工具介绍及判断backend
backend在我的理解中就是在实例化前判断你所要测试的软件是用什么软件写的,主要分为俩个'uia'和'win32'。可用spy++或者Inspect判断选用哪种backend。
如图,上面的软件backend可以从ControlType看出来。(我用的是spy++,安装文件也放在本博客文件中)
3.实战操作主要功能解析
学习pywinauto可以去查看他的官方文档:https://pywinauto.readthedocs.io/en/latest/controls_overview.html
3.1 启动软件
Wechat = Application(backend='uia').start('F:\Download\微信\WeChat\WeChat.exe')
3.2 窗口定位
app = WeChat.window(best_match='微信')
3.3 菜单下拉选择
app.menu_select("File -> Save as... ") # 下一级window定位 menu = app['Copy'] #下拉框选择 #ComboBox是用定位工具定位出来的,不同的下拉框不一致 menu.ComboBox.select('.png')
3.4 键盘操作
# 例子:ctrl+shift+e
send_keys('^+e')
# send_keys就可当作键盘输入 send_keys('hello word!')
# 回车键 send_keys('{ENTER}')
# ctrl键 send_keys('^‘)
3.5 输入操作
# Edit3 也是工具获取下来的输入框定位 app.Edit3.type_keys(''hello word!") # text点击操作 app.OK.click()
3.6 关闭软件
WeChat.kill()
3.7 双重精确定位窗口
tips_window = WeChat['WeChat']["Welcome to WeChat!"]
3.8 button点击
# Button3也是控件获取的 app.Button3.click()