uiautomator2這個自動化框架,它提供了一種watcher對象,可以用來配置要監控的元素
# 設置監控元素 d.watcher.when('關閉').click() d.watcher.when('一鍵登錄').click() 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')) # 回調說明 def click_callback(d: u2.Device): d.xpath("確定").click() # 在回調中調用不會再次觸發watcher d.xpath("繼續").click() # 使用d.xpath檢查元素的時候,會觸發watcher(目前最多觸發5次 # 移除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.res
轉至:https://zhuanlan.zhihu.com/p/390936811