App九宫格解锁
之前在testerhome社区看见codeskyblue大佬写过一种方法,但是这种办法存在一个弊端,那就是多个点的坐标是写死的,也就是说要是换了部手机,九宫格解锁就行不通了,于是就想着能不能做到自动去获取多个点的坐标,看了看uiautomator2的官方文档,发现有办法,如下:
1 首先通过xpath获取解锁界面上九个点
elements = d.xpath("//android.view.ViewGroup/android.widget.ImageView").all()
2 然后在通过center()方法获取每个点的中心坐标
a = elements[0].center()
b = elements[1].center()
c = elements[2].center()
d = elements[3].center()
e = elements[4].center()
f = elements[5].center()
g = elements[6].center()
h = elements[7].center()
i = elements[8].center()
3 通过Uiautomator2里面有一个swipe方法,可以通过传入多个点的坐标来实现解锁九宫格
d.swipe_points([a,b,c,d,e,f,g,h,i],0.02)
最后的0.02代表每一次滑动的时间,来个效果图吧