测试进阶之路:pywinauto助你打开pc端自动化之门

测试进阶之路:pywinauto助你打开pc端自动化之门!

近期也有部分小可爱在问PC端自动化怎么去做?

对这个技术比较好奇,使用python可以不可以实现PC客户端自动化测试?

答案当然是可以的,所以今天在这边专门整理了一遍文章,和大家一起聊聊如何使用python做PC端自动化!

二、环境安装

使用python实现来做PC端自动化,前提是先安装好python。

那么还需要用到一个第三方库:pywinauto。

在这边我们首先需要安装好这个库,安装命令如下:

测试进阶之路:pywinauto助你打开pc端自动化之门

三、使用说明

安装好了之后,关于使用说明大家可以参照官方文档上的说明。

如下图:

测试进阶之路:pywinauto助你打开pc端自动化之门

上述内容翻译如下:

就是说在我们安装好Pywinauto之后,首先要确定哪种可访问性技术(pywinauto的backend)可以用于我们的应用程序。

在windows上受支持的辅助功能技术有两种:

◆ Win32 API (backend="win32") 默认backend

◆ MS UI Automation (backend="uia")

如果您不能确定程序到底适用于那种backend,可以借助于GUI对象检查工具来做,常用的检查工具有Inspect.ex,Spy++ 等。

这个不做过多介绍,大家自行学习和下载,使用很简单,也非常便捷。

四、快速入门

在安装好环境之后,并且确定了应用程序适用的backend,那么接下来我们就可以使用Pywinauto这个模块来对应用程序进行自动化操作了。

01 连接到应用程序

这边用window自带的记事本程序作为案例,给大家做讲解。

连接应用程序,首先需要用到
pywinauto.application.Application()来创建一个应用程序对象,然后再连接到应用程序。

有如下两种方法:

方式一:直接通过start方法打开操作的应用程序

测试进阶之路:pywinauto助你打开pc端自动化之门

方式二:连接已经打开应用程序,可以通过connect连接到指定的应用程序

测试进阶之路:pywinauto助你打开pc端自动化之门

运行以上代码,就会自动打开记事本记事本,如下

测试进阶之路:pywinauto助你打开pc端自动化之门

02 窗口选择

打开这个窗口之后,我们要操作该窗口的话,那么就的先选中这个窗口,关于窗口的选择有一下几种方式

测试进阶之路:pywinauto助你打开pc端自动化之门

03 控件操作

程序窗口中的每一块内容,都是一个控件,我们要对这个窗口的某一块内容进行操作,就需要选择到对应的控件。

◆ 获取所有控件

我们可以通过print_control_identifiers()这个方法,来获取这个窗口下的直接子控件,如下:

测试进阶之路:pywinauto助你打开pc端自动化之门

打印出来的结果如下:

测试进阶之路:pywinauto助你打开pc端自动化之门

上面打印出来的内容分别对应窗口种的以一下部分:

测试进阶之路:pywinauto助你打开pc端自动化之门

◆ 选择控件

关于控件选择的方法有好几种,最简单的方法如下:

测试进阶之路:pywinauto助你打开pc端自动化之门

测试进阶之路:pywinauto助你打开pc端自动化之门

◆ 内容输入

在上面选择到编辑窗口之后,我们就可以进行内容输入了

内容输入的方法:type_key()

测试进阶之路:pywinauto助你打开pc端自动化之门

运行结果如下:

测试进阶之路:pywinauto助你打开pc端自动化之门

04 键盘操作

输入完上述内容之后,接下来我们要修改编辑框中的内容

通过键盘完成以下操作:全选(ctrl+A) 复制(Ctrl+C) 粘贴(Ctrl+V) 回车(Enter) 粘贴(Ctrl+V)

◆ pywinauto.keyboard.send_key

pywinauto模拟操作键盘,需要使用到
pywinauto.keyboard.send_keys这个方法

测试进阶之路:pywinauto助你打开pc端自动化之门

运行结果如下:

◆ 常见的按键操作

##### 字母按键用按键小写字母表示

常用的一些按键

测试进阶之路:pywinauto助你打开pc端自动化之门

按键修饰符

测试进阶之路:pywinauto助你打开pc端自动化之门

更多的键盘操作大家可以参考官网文档

05 鼠标操作

pywinauto操作鼠标的所有方法都封装在pywinauto. mouse这个模块中,使用鼠标之前。

首先要导入mouse模块,mouse模块中包含了一系列的鼠标操作事件。

◆ pywinauto. mouse

鼠标移动:move方法

move(coords=(x轴坐标,y轴坐标))

缓慢移动鼠标案例

测试进阶之路:pywinauto助你打开pc端自动化之门

鼠标点击:click

测试进阶之路:pywinauto助你打开pc端自动化之门

测试进阶之路:pywinauto助你打开pc端自动化之门

五、说明

关于pywinauto模块的基本使用就该大家介绍到这里了,对pc端自动化感兴趣的同学可以往这个方向去深入学习。

推荐一个软件测试学习交流群:785128166,群里有分享的视频,面试指导,测试资料,还有思维导图、群里有视频,都是干货的,你可以下载来看。主要分享测试基础、接口测试、性能测试、自动化测试、TestOps架构、Jmeter、LoadRunner、Fiddler、MySql、Linux、简历优化、面试技巧以及大型测试项目实战视频资料。合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

公众号:程序员二黑, 关注后免费领取海量学习资料。

好东西要和朋友一起分享哦

 

猜你喜欢

转载自blog.csdn.net/m0_52668874/article/details/114703164