python wait_window_pywinauto客户端自动化---窗口等待方法
我們在做web和app的ui自動化過程中,常用到等待機制,那客戶端自動化有這個方法嗎?python這么強大,肯定是有方法解決的
等待機制
pywinauto等待有兩種方法:
方法一:
wait()
wait_for:表示可以選擇窗口狀態
timeout:超時時間
retry_interval:表示重試間隔
def wait(self, wait_for, timeout=None, retry_interval=None):"""等待窗口處于特定的狀態
* 'exists' 表示窗口是一個有效的句柄
* 'visible' 表示窗口不隱藏
* 'enabled' 表示該窗口未被禁用
* 'ready' 表示窗口可見并已啟用
* 'active' 表示窗口處于活動狀態
timeout:表示超時
retry_interval:表示重試間隔"""check_method_names, timeout, retry_interval= self.__parse_wait_args(wait_for, timeout, retry_interval)
wait_until(timeout, retry_interval,lambda: self.__check_all_conditions(check_method_names, retry_interval))#Return the wrapped control
return self.wrapper_object()
wati_not()
其實和上面都是一樣的,一種等待處于某種狀態,一種等待不處于某種狀態
def wait_not(self, wait_for_not, timeout=None, retry_interval=None):"""Wait for the window to not be in a particular state/states.
:param wait_for_not: The state to wait for the window to not be in. It can be any
of the following states, also you may combine the states by space key.
* 'exists' means that the window is a valid handle
* 'visible' means that the window is not hidden
* 'enabled' means that the window is not disabled
* 'ready' means that the window is visible and enabled
* 'active' means that the window is active
:param timeout: Raise an :func:`pywinauto.timings.TimeoutError` if the window is sill in the
state after this number of seconds.
Default: :py:attr:`pywinauto.timings.Timings.window_find_timeout`.
:param retry_interval: How long to sleep between each retry.
Default: :py:attr:`pywinauto.timings.Timings.window_find_retry`.
An example to wait until the dialog is not ready, enabled or visible: ::
self.Dlg.wait_not("enabled visible ready")
.. seealso::
:func:`WindowSpecification.wait()`
:func:`pywinauto.timings.TimeoutError`"""check_method_names, timeout, retry_interval=\
self.__parse_wait_args(wait_for_not, timeout, retry_interval)
wait_until(timeout, retry_interval,lambda: not self.__check_all_conditions(check_method_names, retry_interval))
這里應用場景安靜就不舉例子了,無非就是判斷一些彈出框,或者進入到一種窗口中進行其他的操作,可以通過這個方法進行去等待,減少代碼的運行時間
總結
以上是生活随笔為你收集整理的python wait_window_pywinauto客户端自动化---窗口等待方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 猫头鹰是谁画的啊?
- 下一篇: 元蘑菇怎么做好吃呢?