pywinauto客户端自动化---pywinauto初始

摘要:
目前流行的自动化就是web,app,接口算是目前最主流的测试内容了,那么如果让做安装windows上的客户端自动化呢?今天安静给大家介绍python的第三方库,可以帮助我们做客户端的自动化pywinautopywinauto是一组用于自动化MicrosoftWindowsGUI的python模块。这意味着如果Spy++能够显示所有控件,那么“win32”`backend就是你需要的。AutoItWindowInfo工具是一种Spy++克隆。

目前流行的自动化就是web,app,接口算是目前最主流的测试内容了,那么如果让做安装windows上的客户端自动化呢?是不是一脸懵?今天安静给大家介绍python的第三方库,可以帮助我们做客户端的自动化

pywinauto

pywinauto是一组用于自动化Microsoft Windows GUI的python模块。 最简单的是,它允许您将鼠标和键盘操作发送到窗口对话框和控件,来完成我们自动化操作。

官方文档:http://pywinauto.github.io/

安装:

方法一:

通过pip进行安装:pip install pywinauto

pywinauto客户端自动化---pywinauto初始第1张

方法二:

https://github.com/pywinauto/pywinauto/releases中下载最新的pywinauto,解压并允许 python setup.py install进行安装

验证是否安装成功:

方法一:

直接打开python,进行导入对应的库

pywinauto客户端自动化---pywinauto初始第2张

方法二:

通过pip进行查看pip list

pywinauto客户端自动化---pywinauto初始第3张

小试牛刀

在练习之前,需要先了解一个内容,目前pywinauto支持2种查看客户端控件内容

  • Win32 API(backend="win32") - 现在的默认backend

    • MFC, VB6, VCL, 简单的WinForms控件和大多数旧的遗留应用程序
  • MS UI Automation(backend="uia")

    • WinForms, WPF, Store apps, Qt5, 浏览器

    注意: Chrome在启动之前需要--force-renderer-accessibilitycmd标志。 由于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 Kits10in10.0.17134.0x64

如果以上路径不存在,请自行下载安装:https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk/

3、ViewWizard软件,可以非常方便的检测到我们需要用到的控件类型。

安装也安装完成了,查看也查看过了,那么先进行启动我们的客户端进行测试吧(这里通过的是记事本)

#coding:utf-8#导入pywinauto库
from pywinauto importapplication
#直接启动记事本
app = application.Application().start('notepad.exe')

pywinauto客户端自动化---pywinauto初始第4张

免责声明:文章转载自《pywinauto客户端自动化---pywinauto初始》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇基础练习 杨辉三角形宿舍管理系统-高校宿舍管理系统下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Windows7+VMware10.0安装国产优麒麟UbuntuKylin教程

今天分享一下虚拟机安装UbuntuKylin的教程。喜欢的朋友可以折腾一下试试看。优麒麟(Ubuntu Kylin)是由中国CCN联合实验室支持和主导的开源项目,其宗旨是采用平台国际化与应用本地化融合的设计理念,通过定制本地化的桌面用户环境以及开发满足广大中文用户特定需求的应用软件来提供细腻的中文用户体验,做最有中国特色的操作系统。 首先,准备工作。 已...

Linux运行python程序

reference:https://www.cnblogs.com/liunaixu/p/12804205.html 1、python-->两次Tab,出现如下图所示:显示python版本如下  2、使用gedit命令打开文本文档,输入print("hello world"),保存成p.py文件  3、运行python p.py,结果如下:  ...

基于微信的域名交易系统(功能篇)

 基于微信的域名交易系统 1.能够识别微信用户信息,用户关注后,点击“我的”—个人中心,直接获得微信号信息,不用注册。 2.点击发布域名,直接绑定邮箱,绑定后,检索根据邮箱查到的所有名下域名,并以议价方式发布。 3.如果发布一口价,点击勾议价方式域名,直接发布,但是发布要收取保证金: 保证金手续方式:   1)按照发布一口价数量,每发布一个一口价,缴纳50...

python csv文件打开错误:_csv.Error: line contains NULL byte

正常的csv文件读取如下: #coding:utf-8 importcsv csvfilename = 'demo.csv' print u'################获取某一行'with open(csvfilename, 'rb') as csvfile: reader =csv.reader(csvfile) rows =...

python之判断和循环

计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,可以用if语句实现: age = 20 if age >= 18: print ('your age is,'+str(age)) print ('adult') print ('END') 注意: Pytho...

python之selenium操作隐藏元素

    Fast traslate Icon translate     getElementsByTagName   GetElementsByTagName Fast traslate Icon translate 一、html显示与隐藏元素的几种方法 1、display none:...