uiautomator2 使用注意的地方
uiautomator2项目地址:https://github.com/openatx/uiautomator2#basic-api-usages
下面记录一些自己在使用过程中的坑,仅供参考
1.通过weditor 明明可以看到text文本框,为什么使用d(text="xx")定位不到
遇到这种情况,先观察weditor的页面,能不能直接定位到text的内容,如果不能直接定位到,需要想办法直接定位到才能执行相关的操作
打个比方:有两层很薄很薄的纸叠加在一起,一张纸上写2,一张上面写1,2在上,1在下,虽然你透过纸可以看到1,但是毕竟隔了一张纸,你必须穿过上面的纸,才能找到第二张纸上面的1
大概就是你想要找的元素不能直接看到,被遮挡了,这时候通过点击,或者滑动让你想要找到的元素直接暴露在视野范围内,然后就可以定位了
如果不能滑动,那请直接通过坐标点击,不推荐坐标点击,因为坐标点击涉及到屏幕分辨率的问题,可能会比较头疼且容易报错
2.当你想要定位的元素是动态的怎么办?
uiautomator2 提供了很多操作办法,基本上是继承Android的方法,比如wetcher,Selector
更具体的可以移步:https://developer.android.com/reference/android/support/test/uiautomator/UiSelector (可能需要tz)
这里的文字就不是固定的,且这么矮,用坐标点击真的是。。爽酸,换个方法:
self.d(textContains="展开全部").click() # 模糊匹配方法,区分大小写
uiautomator2还是很强大的,欢迎有问题随时交流~
学习最大的乐趣在于分享,我是绝世老中医,欢迎来诊
个人qq:1978529954