uiautomator2 实现App九宫格解锁

App九宫格解锁

uiautomator2 实现App九宫格解锁_第1张图片


之前在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代表每一次滑动的时间,来个效果图吧
uiautomator2 实现App九宫格解锁_第2张图片

你可能感兴趣的:(uiautomator2 实现App九宫格解锁)