- 在控件操作失效的情况下,可以尝试手动点击或者滑动下屏幕,代码就可以跑起来了,不知道是不是BUG, 所以在之前加一个判断是一个很好的办法.
- 建议在寻找控件的时候不要使用waitFor()等带有阻塞的方法,这可能会导致脚本死在某个地方,非常的不好用,并且注意该大写的代码一定要大写。
例如:
textContains("哈哈哈").waitFor();
//可以改写为:
let con=textContains("哈哈哈").findOnce()
if (con) {
log("con存在")
}
- 尽管id属性很方便,但也不总是最方便的,例如控件id可能会变化,或者id存在重复的时候,推荐使用 className() depth() drawingorder() 和indexInParent() 来寻找控件。
例如:
//
let con=className("android.widget.Image").depth(6).drawingOrder(5).indexInParent(1).findOnce()
if (con) {
log("con存在")
}
- 在控件穿透的情况下,即 控件即时看不到但却能识别到的时候,可以使用visibleToUser()和控件的bounds()来判断是所想选中的控件。