pywinauto客户端自动化---窗口等待方法

摘要:
我们在做web和app的ui自动化过程中,常用到等待机制,那客户端自动化有这个方法吗?

我们在做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))

这里应用场景安静就不举例子了,无非就是判断一些弹出框,或者进入到一种窗口中进行其他的操作,可以通过这个方法进行去等待,减少代码的运行时间

免责声明:文章转载自《pywinauto客户端自动化---窗口等待方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇C#访问带有安全协议的Webservice(https、生成wsdl代理类)Linux系统下Java 转换Word到PDF时,结果文档内容乱码的解决方法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

pywinauto客户端自动化---pywinauto初始

目前流行的自动化就是web,app,接口算是目前最主流的测试内容了,那么如果让做安装windows上的客户端自动化呢?是不是一脸懵?今天安静给大家介绍python的第三方库,可以帮助我们做客户端的自动化 pywinauto pywinauto是一组用于自动化Microsoft Windows GUI的python模块。 最简单的是,它允许您将鼠标和键盘操作...

selenium---上传文件(非input标签)

前言   在前面介绍过selenium中的上传操作过程中介绍了,上传分为两种一种为input标签的,另一种为非input标签的,input标签的直接通过send_keys直接将需要上传的文件地址输入即可 非input标签上传 安静这里找到了一个关于非input标签的上传实例,然后通过pywinauto这个第三方库控制Windows控件进行完成上传操作 p...

pywinauto客户端自动化---自动打开PC端程序

继续介绍pywinauto,上一篇已经可以打开记事本了,这里安静在提供其他方法进行打开记事本和非电脑自带程序 运行指定程序 这里安静分别拿电脑自带程序和电脑非自带程序进行模拟打开。 1、windows自带程序: 这里需要start后面的参数,可以通过上一篇介绍的工具进行获取,也可以通过鼠标右键--属性查看 #coding:utf-8 from pywin...