滑动屏幕方法swipe一般用于对页面进行上下左右滑动操作,但自动化过程中还会遇到其他情况,如对控件元素进行滑动、拖拽操作,九宫格解锁,手势操作,地图的放大与缩小等。这些需要针对控件元素的滑动操作,或者点至点、元素至元素之间的滑动操作,使用swipe方法显然不是很方便,这时候就可以用到appium里提供TouchAction类和MultiAction类。
一,TouchAction类
1,TouchAction类由webdriver库提供,提供以下方法:
tap(self, element=None, x=None, y=None, count=1),点击,点击元素el或坐标点(x, y) 1次
press(self, el=None, x=None, y=None, pressure=None),短按,按压元素el或坐标点(x, y)
long_press(self, el=None, x=None, y=None, duration=1000),长按,长按元素el或坐标点(x, y),duration为按压时间,默认1000ms
wait(self, ms=0),暂停,时间默认为0
move_to(self, el=None, x=None, y=None),移动到,滑动至目标元素el位置或目标坐标点(x, y)
release(self),释放,将指针提离屏幕结束操作
perform(self),执行,将命令发送到要操作的服务器来执行该操作
注意,坐标x、y为int型,示例如下:
2,tap点击
3,press短按
4,long_press长按
5,move_to移动至目标点
6,wait等待
7,release释放
8,perform执行
二,多点触控MultiAction类
1,MultiAction类中提供以下方法:
add(self, touch_actions),参数touch_actions为触摸操作集合,将一个或多个触摸操作添加至当前的多点触控实例中
perform(self),执行多点触控操作
使用场景,如页面的放大、缩小等
2,示例
三,使用场景
1,TouchAction使用场景–控件元素滑动
今日头条顶部菜单栏向左滑动
思路:长按"视频"元素滑动至"关注"元素位置,然后释放
还有下面这种形式,通过对滑动控件元素来选择时间:
思路:通过向上滑动选择年月日。以日期选择控件为例,按压日期元素滑动至【确定】按钮即可滚动日期(由于元素属性的原因这里不能选择精确的日期)
2,TouchAction使用场景–九宫格解锁
3,MultiAction使用场景
app中地图的放大、缩小;app中图片的放大、缩小。
如下图中A、B、C、D四个坐标点,1所示滑动操作则放大图片,2所示滑动操作则缩小照片。
代码参考第二步中示例。
总结:
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。