pywinauto客戶端自動化---窗口等待方法

  咱們在作web和app的ui自動化過程當中,經常使用到等待機制,那客戶端自動化有這個方法嗎?python這麼強大,確定是有方法解決的python

等待機制

pywinauto等待有兩種方法:web

方法一:app

wait()ui

wait_for:表示能夠選擇窗口狀態this

timeout:超時時間spa

retry_interval:表示重試間隔code

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()blog

其實和上面都是同樣的,一種等待處於某種狀態,一種等待不處於某種狀態ci

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))

 

這裏應用場景安靜就不舉例子了,無非就是判斷一些彈出框,或者進入到一種窗口中進行其餘的操做,能夠經過這個方法進行去等待,減小代碼的運行時間it

相關文章
相關標籤/搜索