移动端测试-高级手势TouchAction-笔记

目标

1.能够使用代码完成轻敲手势

2.能够使用代码完成按下手势

3.能够使用代码完成抬起手势

4.能够使用代码完成等待操作

5.能够使用代码完成长按手势

6.能够使用代码完成手指移动操作

高级手势TouchAction

应用场景

TouchAction可以实现一些针对手势的操作,比如滑动、长按、拖动等。我们可以将这些基本手势组合成一个相对复杂的手势。比如,我们解锁手机或者一些应用软件都有手势解锁的这种方式。

使用步骤

1.创建TouchAction对象

2.通过对象调用想执行的手势

3.通过perform()执行动作

注意点

所有手势都要通过执行perform()函数才会运行

轻敲操作

应用场景

模拟手指对某个元素或坐标按下并快速抬起。比如,固定点击(100, 100)的位置。

方法名

#模拟手指对元素或坐标的轻敲操作
#参数:
#element:元素
#x:x坐标
#y:y坐标
TouchAction(driver).tap(element=None,x=None,y=None).perform()

示例

1.打开《设置》

2.轻敲“WLAN”

代码

el=driver.find_element_by_xpath("//*[contains(@text,'WLAN')]")
TouchAction(driver).tap(el).perform()

按下和抬起操作

应用场景

模拟手指一直按下,模拟手指抬起。可以用来组合成轻敲或长按的操作。

方法名

#模拟手指对元素或坐标的按下操作
#参数:
#el:元素
#x:x坐标
#y:y坐标
TouchAction(driver).press(el=None,x=None,y=None).perform()

#模拟手指对元素或坐标的抬起操作
TouchAction(driver).release().perform()

示例

使用坐标的形式按下WLAN(650, 650),2秒后,按下(650,650)的位置

代码

TouchAction(driver).press(x=650,y=650).perform()
time.sleep(2)
TouchAction(driver).press(x=650,y=650).perform()

使用坐标的形式按下WLAN(650, 650),2秒后,按下(650,650)的位置,并抬起

代码

TouchAction(driver).press(x=650,y=650).perform()
time.sleep(2)
TouchAction(driver).press(x=650,y=650).release().perform()

等待操作

应用场景

模拟手指等待,比如按下后等待5秒之后再抬起。

方法名

#模拟手指暂定操作
#参数:
#ms:暂停的毫秒数
TouchAction(driver).wait(ms=0).perform()

示例

使用坐标的形式点击WLAN(650, 650),2秒后,按下(650, 650)的位置,暂停2秒,并抬起

代码

TouchAction(driver).tap(x=650,y=650).perform()
time.sleep(2)
TouchAction(driver).press(x=650,y=650).wait(2000).release().perform()

长按操作

应用场景

模拟手指对元素或坐标的长按操作。比如,长按某个按钮弹出菜单。

方法名

#模拟手指对元素或坐标的长按操作
#参数:
#el:元素
#x:x坐标
#y:y坐标
#duration:长按时间,毫秒
TouchAction(driver).long_press(el=None,x=None,y=None,duration=1000).perform()

移动操作

应用场景

模拟手指移动操作,比如,手势解锁需要先按下,再移动。

方法名

#模拟手指对元素或坐标的移动操作
#参数:
#el:元素
#x:x坐标
#y:y坐标
TouchAction(driver).move_to(el=None,x=None,y=None).perform()

示例

在手势解锁中,画一个如下图的案例包名界面名为com.android.settings/.ChooseLockPattern

代码

TouchAction(driver).press(x=246,y=857).move_to(x=721,y=867).move_to(x=1200,y=851).move_to(x=1200,y=1329).move_to(x=724,y=1329).move_to(x=246,y=1329).move_to(x=718,y=1815).release().perform()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值