Pywinauto: Windows GUI自动化测试工具初步

Pywinauto是一组Python模块,使用它可以编写Python程序模拟对Windows窗口的操作,方便地发送鼠标和键盘事件并控制对话框及其组件。

安装

pip install pywinauto

写在前面
使用Pywinauto操作窗口应用之前,你需要知道该应用允许使用哪种访问技术进行访问,即pywinauto的backend模式。
目前Windows系统下被支持的访问技术主要有两种:
• Win32 API (backend="win32") - 是Windows下默认的访问技术
– MFC, VB6, VCL, 简单的WinForms 和大多数传统应用使用这种模式
• MS UI Automation (backend="uia")
– WinForms, WPF, Windows商店应用, Qt5, 浏览器等使用此模式

操作过程

下面以windows自带程序notepad作为例子,介绍一下Pywinauto的操作过程。注:notepad.exe应使用win32模式。

1. 初始化,本例我们使用uia模式

from pywinauto.application import Application

#默认win32模式
app = Application()

#或者使用UIA模式
app = Application(backend="uia")

2. 连接应用或者启动应用

#启动应用
app.start("Notepad.exe")

#或者连接已打开的应用
app.connect("Notepad.exe")

3. 模拟操作

#模拟键盘输入字符
app.UntitledNotepad.Edit.type_keys("this is an example.{HOME}", with_spaces=True)

#模拟选择菜单
app.UntitledNotepad.menu_select("Edit -> Replace")

#模拟对话框输入
app.UntitledNotepad.Replace.Edit0.set_text("this")
app.UntitledNotepad.Replace.Edit2.set_text("This")

#模拟对话框按钮点击
app.UntitledNotepad.Replace.ReplaceAll.click()
app.UntitledNotepad.Replace.Cancel.click()

 小结

使用Pywinauto可以自动启动或联接应用程序,模拟鼠标,键盘操纵,菜单、按钮点击等用户输入行为,非常方便我们进行程序的自动化测试,以及对windows程序的自动化操作。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值