edit控件自动换行 mfc_PC端自动化测试(一)

PC端自动化测试(一)

pywinauto:同时支持控件操作和图像操作,支持Win32 API和MS UI Automation API

A set of Python modules to automate the Microsoft Windows GUI

安装

  • python3环境(python3.5以上)

  • pip环境

$ pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pywinauto

3119d0aef4f359f1fadae09b9175a559.png

应用程序的可访问技术

支持控件的访问技术

Win32 API(backend=“win32”) 默认的backend

MFC,VB6,VCL简单的WinForms控件和大多数旧的应用程序

MS UI Automation API(backend=“uia”)

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

进程数量

单进程

Application作用范围是一个进程

跨进程

Desktop作用范围可以跨进程

GUI对象检查工具

Inspect.exe

spy++.exe

ViewWizard

打开应用程序

from pywinauto.application import Application# 打开指定的应用程序# 1. 打开windows自带的应用app = Application(backend='uia').start("notepad.exe")# 2. 打开任意一个应用程序app = Application(backend='uia').start("exe路径")

连接已经打开的应用程序

  • 通过进程号

  • 通过窗口句柄

app = Application('uia').connect(process=4444)app = Application('uia').connect(handle=1904040)

6b298408627b7915c655154277022c6d.png

选择指定的窗口

# 方式一:app[类名/标题] :推荐使用该方式# 1.通过窗口类型来选择dlg = app["TNavicatMainForm"]# 2.通过窗口标题来选择dlg = app["Navicat for MySQL"]# 方式二:app.类名dlg =app.TNavicatMainFormdlg.print_control_identifiers()

操作窗口

# 窗口最大化dlg.maximize()# 窗口最小化dlg.minimize()# 窗口恢复正常大小dlg.restore()# 查找窗口显示状态,最大化为1,正常为0status = dlg.get_show_state()# 获取当前窗口的坐标位置rect = dlg.rectangle()print(rect)# (L548,T194,R1768,B1043)# 关闭窗口dlg.close()

选择控件

控件:窗口上的内容

# 选择控件# menu = dlg.Menumenu = dlg["Menu"]print(menu.print_control_identifiers()) # 查看Menu上的控件file = menu.child_window(title="文件", control_type="MenuItem")file.print_control_identifiers()

控件的分类

  • 状态栏 StatusBar

  • 按钮 Button

  • 单选框 RadioButton

  • 组合框 ComboBox

  • 编辑栏 Edit

  • 列表框 ListBox

  • 弹出菜单 PopupMenu

  • 工具栏 Toolbar

  • 树状视图 Tree View

  • 菜单项 MenuItem

  • 静态内容 Static

  • 复选框 CheckBox

  • 组框 GroupBox

  • 对话框 Dialog

  • 头部内容 Header

  • 列表显示控件 ListView

  • 选项卡控件 TabControl

  • 工具提示 ToolTips

  • 菜单 Menu

  • 窗格 Pane

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值