Python Appium自动化测试 高级滑动

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

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()执行。

代码运行结果:

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值