zoukankan      html  css  js  c++  java
  • python uiautomator2 新版本2.4.6之watcher的玩法

    最近将uiautomator2升级到最新版本了,运行之前的脚本发现涉及watcher部分的全部报错,大家来看看新版本的watcher如何玩

    用法举例
    
    注册监控
    
    # 常用写法,注册匿名监控
    d.watcher.when("安装").click()
    
    # 注册名为ANR的监控,当出现ANR和Force Close时,点击Force Close
    d.watcher("ANR").when(xpath="ANR").when("Force Close").click()
    
    # 其他回调例子
    d.watcher.when("抢红包").press("back")
    d.watcher.when("//*[@text = 'Out of memory']").call(lambda d: d.shell('am force-stop com.im.qq'))
    监控操作
    
    # 移除ANR的监控
    d.watcher.remove("ANR")
    
    # 移除所有的监控
    d.watcher.remove()
    
    # 开始后台监控
    d.watcher.start()
    d.watcher.start(2.0) # 默认监控间隔2.0s
    
    # 强制运行所有监控
    d.watcher.run()
    
    # 停止监控
    d.watcher.stop()
    
    # 停止并移除所有的监控,常用于初始化
    d.watcher.reset()

    从上面截出来的可以看出,主要是when()这个条件和click()操作跟之前旧版本不一样,之前旧版本是可以在when()和click()里面带上具体selector名称,但新版本全部去掉了

    1 # -*- coding:utf-8 -*-
    2 import time
    3 import uiautomator2 as u2
    4 d = u2.connect()
    5 d.watcher.when("OK").click()  # 注册一个匿名watcher
    6 for i in range(10):
    7     time.sleep(1)
    8     d.watcher.start()  # 启动后台watcher监视,如果有监视到有弹框中有OK的就执行上面所注册的watcher并click
  • 相关阅读:
    C#.NET 超大文件上传和断点续传的实现
    Linux下arp用法
    daf简记
    Linux route命令详解和使用示例(查看和操作IP路由表)
    CMake使用之一
    Crontab的格式
    linux 单网卡绑定两个ip
    云计算与虚拟化以及IaaS, PaaS和SaaS
    shell中判断用法
    解决screen Cannot open your terminal '/dev/pts/1'问题
  • 原文地址:https://www.cnblogs.com/aziji/p/12186271.html
Copyright © 2011-2022 走看看