Pywinauto之WindowsUI

鏁戝姪璐洶鐧界櫆椋庢偅鑰? http://news.39.net/bjzkhbzy/200114/7751302.html

一、选择程序窗口

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

树状视图:TreeViewMenu:菜单

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做自动化测试")

自学测试之道

是一种鼓励,你懂的



转载请注明地址:http://www.sanbaicaoasb.com/scgj/8547.html
  • 上一篇文章:
  • 下一篇文章:
  • 热点文章

    • 没有热点文章

    推荐文章

    • 没有推荐文章