App九宫格解锁

uiautomator2 实现App九宫格解锁-LMLPHP


之前在testerhome社区看见codeskyblue大佬写过一种方法,但是这种办法存在一个弊端,那就是多个点的坐标是写死的,也就是说要是换了部手机,九宫格解锁就行不通了,于是就想着能不能做到自动去获取多个点的坐标,看了看uiautomator2的官方文档,发现有办法,如下:


1 首先通过xpath获取解锁界面上九个点

element = d.xpath("//android.view.ViewGroup/android.widget.ImageView").all()


2 然后在通过center()方法获取每个点的中心坐标

a = element[0].center()
b = element[1].center()
c = element[2].center()
d = element[3].center()
e = element[4].center()
f = element[5].center()
g = element[6].center()
h = element[7].center()
i = element[8].center()
---
3 通过Uiautomator2里面有一个swipe方法,可以通过传入多个点的坐标来实现解锁九宫格

d.swipe_points([a,b,c,d,e,f,g,h,i],0.1)

最后的0.1代表每一次滑动的时间

05-11 22:12