目前流行的自动化就是web,app,接口算是目前最主流的测试内容了,那么如果让做安装windows上的客户端自动化呢?是不是一脸懵?今天安静给大家介绍python的第三方库,可以帮助我们做客户端的自动化
pywinauto
pywinauto是一组用于自动化Microsoft Windows GUI的python模块。 最简单的是,它允许您将鼠标和键盘操作发送到窗口对话框和控件,来完成我们自动化操作。
官方文档:http://pywinauto.github.io/
安装:
方法一:
通过pip进行安装:pip install pywinauto
方法二:
https://github.com/pywinauto/pywinauto/releases中下载最新的pywinauto,解压并允许 python setup.py install
验证是否安装成功:
方法一:
直接打开python,进行导入对应的库
方法二:
通过pip进行查看 pip list
小试牛刀
在练习之前,需要先了解一个内容,目前pywinauto支持2种查看客户端控件内容
- Win32 API (
backend="win32"
) - 现在的默认backend
- MFC, VB6, VCL, 简单的WinForms控件和大多数旧的遗留应用程序
- MS UI Automation (
backend="uia"
)
- WinForms, WPF, Store apps, Qt5, 浏览器
注意: Chrome在启动之前需要--force-renderer-accessibility
cmd标志。 由于comtypes Python库限制,不支持自定义属性和控件。
如果不确定自己的软件测试时哪一种,我们先用默认的,如果运行过程中会报提示, UserWarning: 32-bit application should be automated using 32-bit Python (you use 64-bit Python) UserWarning)
检测控件软件:
我们可以通过以下三种软件进行检测应用的控件或窗口,来进行操作
1、Spy++ 包含在MS Visual Studio发行版(甚至是Express或Community)中,可通过“开始”菜单访问。 它使用Win32 API。 这意味着如果Spy ++能够显示所有控件,那么“win32”`backend就是你需要的。 AutoIt Window Info工具是一种Spy ++克隆。
2、Inspect.exe 是Microsoft创建的另一个很棒的工具。 它包含在Windows SDK中,因此可以在x64 Windows上的以下位置找到它:
C:\Program Files (x86)\Windows Kits\10\bin\10.0.17134.0\x64
如果以上路径不存在,请自行下载安装:https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk/
3、ViewWizard软件,可以非常方便的检测到我们需要用到的控件类型。
安装也安装完成了,查看也查看过了,那么先进行启动我们的客户端进行测试吧(这里通过的是记事本)
# coding:utf-8
# 导入pywinauto库
from pywinauto import application
# 直接启动记事本
app = application.Application().start('notepad.exe')