Time will tell.
滑动在实际使用过程中,用户可能要进行一些多点连续滑动操作。如九宫格滑动操作,连续拖动图片移动等场景。那么这种高级绚丽的溜冰滑动在 Appium 中该如何模拟这类操作呢?下面一一道来。
1、TouchAction
Touch Action 包含一些列操作,比如按压、长按、点击、移动、暂停。由着些不同操作可以组成一套动作。使用 TochAction 需要先导入对应的模块。
from appium.webdriver.common.touch_action import TouchAction
按压方法:
press()开始按压一个元素或坐标点(x,y)。通过手指按压手机屏幕的某个位置。 press也可以接收屏幕的坐标(x,y)。
press(self, el=None, x=None, y=None)
TouchAction(driver).press(x=0,y=308)
长按方法:
longPress()开始按压一个元素或坐标点(x,y)。 相比press()方法,longPress()多了一个入参,既然长按,得有按的时间吧。duration以毫秒为单位。1000表示按一秒钟。其用法与press()方法相同。
long_press(self, el=None, x=None, y=None, duration=1000)
点击方法:
tap()对一个元素或控件执行点击操作。用法参考press() 。
tap(self, element=None, x=None, y=None, count=1)
移动方法:
move_to()将指针从上一个点移动到指定的元素或点。
move_to(self, el=None, x=None, y=None)
注意:移动到目位置有时是算绝对坐标点,有时是基于前面一个坐标点的偏移量,这个要结合具体 App 来实践。
暂停方法:
Wait(),暂停脚本的执行,单位为毫秒。
wait(self, ms=0)
释放方法:
release()结束的行动取消屏幕上的指针。
release(self)
执行方法:
perform()执行的操作发送到服务器的命令操作。
perform(self)
2、TouchAction 实战
九宫格是一种比较常见的图案加密方式,目前很多 App 都支持设置图案锁, Android 原生系统也支持设九宫格图案锁屏。那么我们该如何使用 Appium 进行滑动操作呢?
测试场景
安装启动随手记 App 启动 App 后在密码设置选项中开启手机密码并滑动九宫格设置如下 “Z” 字形的图形密码。

测试环境
1.Windows 10版本 64位系统
2.jdk版本:“1.8.0_181”
3.appium版本:1.4.16
4.selenium:3.141.0
-
安装selenium:
-
输入指令pip install selenium
-
验证安装成功:pip show selenium

5.测试设备:Android 5.1.1 (不能低于5.0版本)

6.Python:3.7.2 ,命令:python -V ,回车即可。

7.测试App:随手记 Android app V9.7.1.5

想法与思路:
- 安装启动随手记APP
- 代码实现点击“下一步”,向左滑动首页引导页面
- 点击“开始随手记”进入首页页面
- 点击“设置”按钮,向上滑动,找到“高级”按钮,点击进入
-点击“手势密码”,开始设置手势密码(高级滑动)
代码实现:
(1)安装启动随手记

(2)代码实现点击 “下一步” ,向左滑动首页引导页面

(3)点击 “开始随手记” 进入首页页面

(4)点击“设置”按钮,向上滑动,找到 “高级” 按钮,点击进入

(5)点击 “手势密码”,开始设置手势密码,进行解锁(高级滑动)

这个地方move_to到了按下的这个坐标点,是因为不这样的话实际结果忽略掉了第一个按下的点。release()释放,perform()执行。
代码运行结果:


本文介绍了如何使用Python的Appium库进行高级滑动操作,特别是针对九宫格手势密码的设置。通过TouchAction类,详细讲解了按压、长按、点击、移动等方法,并给出了设置Z字形手势密码的坐标计算和代码实战。文章还提到了在实现过程中遇到的问题及解决方案,强调了坐标计算和动作序列的重要性。
最低0.47元/天 解锁文章

4万+

被折叠的 条评论
为什么被折叠?



