Appium学习笔记16-按下、抬起、等待、移动、点击

1.touchAction简介

手机操作手势众多,通常是由一些简单的小操作组成一个复杂手势。简单操作比如按下,抬起,等待,移动。
touchAction可以将简单操作组合成高级手势,touchAction的使用分为3步:

1、创建touchAction对象
touch_action =TouchAction(driver)
2、调用对象想执行的手势
touch_action = touch_action.tap(button)
3、通过perform()执行
touch_action.perform()

2.按下(press)&抬起(press.release)

#按住不放的方法是press(),传入的参数有2种,元素或者坐标,二选一
TouchAction(driver).press(el=None,x=None,y=None).perform()
#抬起的方法就是将按住释放release()
TouchAction(driver).press(el=None,x=None,y=None).release().perform()
#多次点击
press().release().press().release()...

代码:

3.等待wait()

#模拟手指等待,比如按下等待5秒钟之后再抬起,等待时间单位毫秒
TouchAction(driver).wait(ms=0).perfrom()

4.长按long_press()

长按可是有两种实现方法:
1按下+等待+释放:press().wait().release()
2直接调用长按方法:long_press()
p.s.长按long_press()不会自己抬起,仍需加入release()方法帮助抬起

#4个参数,(元素,x坐标,y坐标,按住时长毫秒)其中元素和坐标参数二选一
TouchAction(driver).long_press(el=None,x=None,y=None,duration=1000).perform()

5.移动move_to()

按住+移动实现滑动、拖拽,绘制等

# 3个参数,(元素,x坐标,y坐标)其中元素和坐标参数二选一
move_to(el=None,x=None,y=None)

6.点击tap()

#4个参数,(元素,x坐标,y坐标,点击次数)其中元素和坐标参数二选一
tap(el=None,x=None,y=None,count:int=1)

7.代码

#导入库
from appium import webdriver
import time
from appium.webdriver.common.touch_action import TouchAction

desired_caps = dict()#创建字典
desired_caps['platformName'] = 'Android'#添加字典字段:手机平台(Android、iOS)
desired_caps['platformVersion'] = '5.1'#添加字典字段:系统版本号(可从手机的设置里面查看)
desired_caps['deviceName'] = 'myphone'#添加字典字段:设备名称(随便写即可)
desired_caps['appPackage'] = 'com.android.settings'#添加字典字段:要打开的app包名
desired_caps['appActivity'] = 'com.android.settings.Settings'#添加字典字段:APP的界面名
desired_caps['unicodeKeyboard'] = True
desired_caps['resetKeyboard'] = True
driver = webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)#调用方法,其中'http://localhost:4723/wd/hub'即为appium服务器地址
driver.find_element_by_id("android:id/button1").click()#根据id定位元素,弹出应用的授权框,点击“确认”

bluetooth=driver.find_element_by_xpath("//*[@text='蓝牙']")

#按住不放的方法是press,传入的参数有2种,元素或者坐标,二选一
#TouchAction(driver).press(bluetooth).perform()#按下蓝牙按钮不放
#time.sleep(5)#坚持5秒

#抬起的方法就是将按住释放release
#TouchAction(driver).press(x=210,y=900).release().perform()#按下蓝牙按钮并释放
#time.sleep(3)#等待3秒

#等待wait()单位毫秒
#TouchAction(driver).press(x=210,y=900).wait(3000).release().perform()#按下蓝牙按钮,等待3秒,并释放

#长按可以使用按下+等待+释放组合,也可以使用long_press()方法
# TouchAction(driver).long_press(bluetooth,3000).perform()#长按蓝牙按钮3秒,它不会自动释放,所以是一直按住的状态
# time.sleep(3)#等待3秒

#按住+移动实现滑动、拖拽,绘制等
#TouchAction(driver).press(bluetooth).move_to(x=100,y=100).release().perform()#按住蓝牙按钮,并移动到100,100像素位置

#点击
TouchAction(driver).tap(bluetooth).perform()#点击1次蓝牙,进入蓝牙界面
TouchAction(driver).tap(x=932,y=290,count=2).perform()#点击蓝牙开关2次
time.sleep(3)#等待3秒

driver.quit()#退出此次驱动连接
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值