当前位置: 移动技术网 > IT编程>脚本编程>Python > python uiautomator2 新版本2.4.6之watcher的玩法

python uiautomator2 新版本2.4.6之watcher的玩法

2020年01月13日  | 移动技术网IT编程  | 我要评论

怪兽电力公司国语,林心如拍婚纱照,黄立行身高

最近将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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网