使用滑动方法模拟屏幕滑动和手势密码绘制
前言
App自动化测试中有两个重要的操作,分别是屏幕滑动和绘制手势密码。目前很多应用在启动时,启动时会有开机动画,或者加载上下文内容时,需要手动上下滑动加载页面,所以在自动测试过程中模拟手的滑动操作似乎非常重要;第二重要的是模拟九宫格的手工绘制,完成手势密码的设置。这种手势密码在金融类应用中最常见,也有一些应用对用户信息的保密性很好。因此,模拟手势密码的绘制也是app自动测试中必须掌握的操作。然后我们将开始解释如何实现这两个操作。进入主题之前,你还应该知道手机中水平和垂直坐标的原点是从屏幕左上角开始的(。
滑动屏幕
刷卡方式
模拟滑动屏幕的操作,我们通过刷卡的方法实现,先看看这个方法的源代码
def sweep(self,start_x,start_y,end_x,end_y,duration=None): ' ' '从一个点到另一个点的sweep,持续时间可选。arg s : start _ x(int): x-坐标,在此处开始start _ y(int):y-坐标,在此处开始end _ x(int): x-坐标,在此处停止end _ y(int):y-坐标,在此处停止持续时间(:obj:`int `,可选):刷卡时间,单位为ms . Usage 3360 driver . swipe(100,可选)按(x=start_x,y=start_y) \。等待(毫秒=持续时间)\。move _ to (x=end _ x,y=end _ y) \。释放()动作。执行()返回自身参数
Start_x,start_y :表示滑动开始时的初始坐标,即从哪里开始滑动
End_x,end_y :表示滑动后的坐标,即滑动到哪里
Duration:表示滑动过程的时间间隔。模拟操作时,我们最好设置一个时间间隔,避免因为代码运行太快,以毫秒为单位计算,导致实机或模拟器响应慢而导致操作失败
通过源代码,我们发现swipe方法实际上是由TouchAction实现的。这个类以后还会用到,主要是模拟一些触摸屏动作
实现理念
你可以想象我们通常是如何滑动屏幕的。比如我们向左滑动屏幕的时候,经常会把双手放在屏幕的右侧,然后按住屏幕向左滑动,那么代码是如何知道我们在屏幕上从哪里开始的呢?那是坐标。我们可以先得到屏幕的宽度和高度,然后根据它的比例计算鼠标的位置坐标。我这里取的坐标起点是屏幕宽度的0.9倍,高度的0.5倍,这大概是我们手指在实际滑动屏幕时的操作位置。您可以根据下面播放的动画观察鼠标的大致开始和结束位置
接下来,我们开始模拟动画中鼠标的操作(人手的操作,我用的模拟器有鼠标)
首先,我们通过get_window_size()方法得到屏幕的宽度和高度(这个方法返回一个字典),然后计算鼠标的初始位置和结束位置
Def get_phone_size(self): ' ' '获取屏幕大小' ' ' width=self . driver . Get _ window _ size()[' width ']#获取屏幕宽度height=self . driver . Get _ window _ size()[' height ']#获取屏幕的高返回宽度、高度。从模拟动画中不难看出,鼠标从起点坐标(屏幕宽度的3/4和屏幕高度的1/2)滑动到终点坐标(屏幕宽度的1/4和屏幕高度的1/2),ok,然后经过s。
版权声明:使用滑动方法模拟屏幕滑动和手势密码绘制是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。