# 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