# pywinauto.timings
所有pywinauto的全局时序设置
该模块有一个对象应该用于所有时序调整:
* timings.Timings
有几个预定义的设置:
* `timings.Timings.fast()`
* `timings.Timings.defaults()`
* `timings.Timings.slow()`
以下是可以调整的各个时序设置:
* window_find_timeout (default 5)
* window_find_retry (default .09)
* app_start_timeout (default 10)
* app_start_retry (default .90)
* app_connect_timeout (default 5.)
* app_connect_retry (default .1)
* cpu_usage_interval (default .5)
* cpu_usage_wait_timeout (default 20)
* exists_timeout (default .5)
* exists_retry (default .3)
* after_click_wait (default .09)
* after_clickinput_wait (default .09)
* after_menu_wait (default .1)
* after_sendkeys_key_wait (default .01)
* after_button_click_wait (default 0)
* before_closeclick_wait (default .1)
* closeclick_retry (default .05)
* closeclick_dialog_close_wait (default 2)
* after_closeclick_wait (default .2)
* after_windowclose_timeout (default 2)
* after_windowclose_retry (default .5)
* after_setfocus_wait (default .06)
* setfocus_timeout (default 2)
* setfocus_retry (default .1)
* after_setcursorpos_wait (default .01)
* sendmessagetimeout_timeout (default .01)
* after_tabselect_wait (default .05)
* after_listviewselect_wait (default .01)
* after_listviewcheck_wait default(.001)
* listviewitemcontrol_timeout default(1.5)
* after_treeviewselect_wait default(.1)
* after_toobarpressbutton_wait default(.01)
* after_updownchange_wait default(.1)
* after_movewindow_wait default(0)
* after_buttoncheck_wait default(0)
* after_comboboxselect_wait default(.001)
* after_listboxselect_wait default(0)
* after_listboxfocuschange_wait default(0)
* after_editsetedittext_wait default(0)
* after_editselect_wait default(.02)
* drag_n_drop_move_mouse_wait default(.1)
* before_drag_wait default(.2)
* before_drop_wait default(.1)
* after_drag_n_drop_wait default(.1)
* scroll_step_wait default(.1)
>[success] *class* `pywinauto.timings.TimeConfig`
定时值的集中存储和操作
> `Defaults(args, **kwargs)`
> `Fast(args, **kwargs)`
> `Slow(args, **kwargs)`
> `defaults()`
将所有时间设置为默认时间
> `fast()`
设置快速计时值
目前,这会以下列方式改变时间: timeouts = 1 second waits = 0 seconds retries = .001 秒(最低限度!)
(如果现有时间更快,那么保持现有时间)
> `slow()`
设置慢速计时值
目前,这会以下列方式改变时间: timeouts = default timeouts * 10 waits = default waits * 3 retries = default retries * 3
(如果现有时间较慢,则保持现有时间)
>[success] *exception* `pywinauto.timings.TimeoutError`
>[success] `pywinauto.timings.always_wait_until(timeout, retry_interval, value=True, op=<built-in function eq>)`
装饰者每次都要调用wait_until(...) 作为装饰函数/方法
>[success]`pywinauto.timings.always_wait_until_passes(timeout, retry_interval, exceptions=<class 'Exception'>)`
装饰者每次都要调用wait_until_passes(...)作为装饰函数/方法
>[success]`pywinauto.timings.timestamp()`
获得精确的时间戳
>[success]`pywinauto.timings.wait_until(timeout, retry_interval, func, value=True, op=<built-in function eq>, *args, **kwargs)`
等到 `op(function(*args, **kwargs), value)`为True或直到超时到期
* **timeout** 函数将尝试该函数多长时间
* **retry_interval** 重试之间等待多长时间
* **func** 将要执行的功能
* **value** 要比较的值(默认为True)
* **op** 比较函数(默认为相等)
* **args** 调用时传递给func的可选参数
* **kwargs** 调用时要传递给func的可选关键字参数
返回函数的返回值如果操作超时,则函数的返回值位于引发的异常的“function_value”属性中。
e.g.
~~~
try:
# 等待最多10.5秒
# 对象item_count()方法返回10
# 以0.5的增量递增
wait_until(10.5, .5, self.item_count, 10)
except TimeoutError as e:
print("timed out")
~~~
>[success] `pywinauto.timings.wait_until_passes(timeout,retry_interval, func, exceptions=<class 'Exception'>, *args, **kwargs)`
等到`func(*args, **kwargs)`没有引发其中一个例外
* **timeout** 函数将尝试该函数多长时间
* **retry_interval** 重试之间等待多长时间
* **func** 将要执行的功能
* **exceptions** 要测试的异常列表(默认值:异常)
* **args** 调用时传递给func的可选参数
* **kwargs** 调用时要传递给func的可选关键字参数
返回函数的返回值如果操作超时,则引发的原始异常位于引发的异常的“original_exception”属性中。
e.g.
~~~python
try:
# 等待最多10.5秒
# 以每秒0.5的增量找到窗口。
# P.int一条消息,如果从未找到,则重新提出原始异常。
wait_until_passes(10.5, .5, self.Exists, (ElementNotFoundError))
except TimeoutError as e:
print("timed out")
raise e.
~~~
- 什么是Pywinauto
- 入门指南
- 如何
- 等待长时间操作
- 远程执行指南
- 每种不同控制类型可用的方法
- 贡献者
- 开发笔记
- 待办项目
- 更新日志
- 基本用户输入模块
- pywinauto.mouse
- pywinauto.keyboard
- 主要用户模块
- pywinauto.application
- pywinauto.findbestmatch
- pywinauto.findwindows
- pywinauto.timings
- 特定功能
- pywinauto.clipboard
- pywinauto.win32_hooks
- 控件参考
- pywinauto.base_wrapper
- pywinauto.controls.hwndwrapper
- pywinauto.controls.menuwrapper
- pywinauto.controls.common_controls
- pywinauto.controls.win32_controls
- pywinauto.controls.uiawrapper
- pywinauto.controls.uia_controls
- Pre-supplied Tests
- pywinauto.tests.allcontrols
- pywinauto.tests.asianhotkey
- pywinauto.tests.comboboxdroppedheight
- pywinauto.tests.comparetoreffont
- pywinauto.tests.leadtrailspaces
- pywinauto.tests.miscvalues
- pywinauto.tests.missalignment
- pywinauto.tests.missingextrastring
- pywinauto.tests.overlapping
- pywinauto.tests.repeatedhotkey
- pywinauto.tests.translation
- pywinauto.tests.truncation
- 后端内部实施模块
- pywinauto.backend
- pywinauto.element_info
- pywinauto.win32_element_info
- pywinauto.uia_element_info
- pywinauto.uia_defines
- 内部模块
- pywinauto.controlproperties
- pywinauto.handleprops
- pywinauto.xml_helpers
- pywinauto.fuzzydict
- pywinauto.actionlogger
- pywinauto.sysinfo
- pywinauto.remote_memory_block