Pywinauto之Windows UI自动化7

2021-08-12 11:35:13 浏览数 (1)

最近忙着其他项目,文章有点断更了。

最近公司开发了一款基于PC端的桌面应用程序,需要进行自动化测试,避免重复的点工。为此,也在网上找了一些资料,都不符合当前需求,最终决定参考网上资料,使用python语言去实现。

一、起因

1、桌面应用程序的控件在程序上经过特殊处理,无法识别出控件内容

二、实现思路

1、通过录制、回放去实现自动化测试

2、通过坐标定位,点击模拟鼠标和键盘操作

(以上两种操作,均使用python去实现)

三、实现方式

基于python语言有着丰富的第三方库,如:pywinauto、pymouse、pyautogui、win32、pynput、 lackey等等

其中:

pywinauto

Pywinauto是基于Python开发的一个库,可用于自动化测试的一个很有用的脚本模块,主要用于操作Windows标准图形界面。

安装方式:pip install pywinauto

PyUserInput

PyUserInput一个非常有意思的python库,它集成了PyMouse和PyKeyboard这俩模块,能够模拟鼠标和键盘的操作,可以说是轻量级的按键精灵。我们可以用这个库来进行一些机械的重复操作,也可以作为小游戏的脚本。俗话说得好,工欲善其事,必先利其器。

安装方式:pip install PyUserInput

pyautogui

PyAutoGUI是用Python写的一个模块,使用它可以控制鼠标和键盘。利用它可以实现自动化任务,再也不用担心有重复枯燥的任务了。

安装方式:pip install pyautogui

pywin32

pywin32是一个第三方模块库,主要的作用是方便python开发者快速调用windows API的一个模块库。同时pywin32也是绝大部分windows上第三方python模块库的前提,例如wmi,如果没有安装pywin32是无法正常使用wmi这个三方模块库的。

安装方式:pip install pywin32

pynput

这个库允许您控制和监视输入设备。目前,鼠标和键盘输入和监控是支持的。

安装方法:pip install pynput

lackey

Lackey 是Sikuli脚本的一个实现,使用图像识别来控制复杂的和非 os 标准的业务应用程序。潜在的应用包括自动化繁琐的工作流、例行的用户界面测试等。

安装方法:pip install Lackey

综上几个第三方库对比,最后决定采用pynput库,实现录制回放功能,也是对目前工作进度比较快的一种自动化方式。

0 人点赞