前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Pywinauto之Windows UI自动化4

Pywinauto之Windows UI自动化4

作者头像
用户6367961
发布2023-03-08 16:43:10
3.5K0
发布2023-03-08 16:43:10
举报
文章被收录于专栏:自学测试之道自学测试之道

一、选择程序窗口

1、打印窗口所有控件

dlg.print_control_identifiers()

2、根据窗口标题或类名选择

dlg = app[窗口类名/标题]

dlg = app["窗口类名"]

3、根据窗口类名选择串口

dlg = app.窗口类名

二、窗口的操作方法

1、窗口最大化

dlg.maximize()

2、窗口最小化

dlg.minimize()

3、还原窗口正常大小

dlg.restore()

4、获取窗口显示状态

dlg.get_show_state()

5、关闭窗口

dlg.close()

三、窗口控件的分类

状态栏:StatusBar 静态内容:Static

按钮:Button 复选框:CheckBox

单选框:RadioButton 组框:GroupBox

组合框:ComboBox 对话框(窗口):Dialog

编辑框:Edit 头部内容:Header

列表框:ListBox 列表显示控件:ListView

弹出菜单:PopupMenu 选项卡控件:TabControl

工具栏:Toolbar 工具栏提示:ToolTips

树状视图:Tree View Menu:菜单

MenuItem:菜单项 Pane:窗格

四、控件的相关属性获取

1、获取控件类型:wrapper_object()

print(dlg.wrapper_object()) # 打印窗口的控件类型

print(menu.wrapper_object()) # 打印菜单项的控件类型

print(file.wrapper_object()) # 打印文件的控件类型

2、获取该控件支持的方法:print(dir(a.wrapper_object()))

print(dlg(dlg.wrapper_object())) # 查看控件所支持的方法

3、获取控件的子元素:children

print(dlg.children) # 获取窗口的子元素

print(menu.children) # 获取菜单的子元素

print(file.children) # 获取文件的子元素

4、获取控件类名:class_name

print(dlg.children) # 获取窗口的类名

print(menu.class_name) # 获取菜单的类名

print(file.class_name) # 获取文件的类名

5、以字典形式返回控件的属性:get_properties

print(menu.get_properties) # 获取菜单的属性

6、获取文本内容:texts

print(file.texts()) #获取文本内容

五、截图处理

方法:capture_as_image

#pic = app[].capture_as_image()

pic = menu.capture_as_image()

pic.save("xx.png")

六、菜单控件相关操作

1、获取菜单的子菜单项

print(menu.items())

2、通过下标去选择菜单项

m = menu.item_by_index(0)

print(m)

3、通过路径去选择菜单项

m = menu.item_by_path("文件") 或

m = menu.item_by_path("文件 -> 新建连接...")

print(m)

七、菜单项的操作方法

1、获取所有子选项:items

print(file.items())

2、点击菜单项的方法:click_input()

file.click_input()

八、等待方式

1、Wait方法:

作用:等待窗口不处于某个特定状态参数;

wait_for :等待的状态(状态有以下几种)

exists:表示该窗口是有效的句柄

visible:表示该窗口未隐藏

enabled :表示未禁用窗口-

ready:表示该窗口可见并启用·

active:表示该窗口处于活动状态

timeout :超时时间

retry _interval :重试时间间隔

2、Wait_not方法:

作用:等待窗口不处于某个特定状态参数;

wait_for :等待的状态(状态有以下几种)

exists:表示该窗口是有效的句柄

visible:表示该窗口未隐藏

enabled :表示未禁用窗口-

ready:表示该窗口可见并启用·

active:表示该窗口处于活动状态

timeout :超时时间

retry _interval :重试时间间隔

3、wait_cpu_usage_lower方法等待该进程的cup的使用率低于某个阀值

注意:此方法仅适用于整个应用程序进程,不适用于窗口/元素。

参数:

threshold :该进程cup占用率timeout :超时时间

retry_interval :重试时间间隔

九、timings模块

1、wait_until方法:参数:

Timeout:超时时间

retry_interval重试时间 func执行的函数

value 比较的值

op比较方式函数(默认为相等) args给执行函数传位置参数

kwargs给执行函数传关键字参数

2、在执行许多动作需要在之前,之后和之间如果我们需要暂停。

那么模块timings中有几个方法库帮我们实现这种暂停操作。

通过在对象timings. Timings中设置全局静态变量(等待时间),它可以单独根据您的需要进行调整。

全局计时变量值的设置方法

Timings .defaults() :将全局计时设为默认值

Timings.slow() :将所有时间加倍(使脚本执行速度降低约2倍)

Timings. fast(): #将所有计时除以2 (快2倍)

十、编辑类Edit的控件操作

1、快速输入文本内容

dlg["Edit"].type_keys("学python做自动化测试")

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-05-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 90后测试邦 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档