文章目录

  • 1.touchAction简介
  • 2.按下(press)&抬起(press.release)
  • 3.等待wait()
  • 4.长按long_press()
  • 5.移动move_to()
  • 6.点击tap()
  • 7.代码

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 TouchActiondesired_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()#退出此次驱动连接

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

  1. SpringBoot学习笔记(16)----SpringBoot整合Swagger2

    Swagger 是一个规范和完整的框架,用于生成,描述,调用和可视化RESTful风格的web服务 http://swagger.io Springfox的前身是swagger-springmvc,是 ...

  2. Linux 学习笔记16 信号量

    Linux 学习笔记16 信号量Semaphore 信号量概念 信号量(或信号灯)是一种用于提供不同进程间或一个给定进程的不同线程间同步手段的原语. 信号量是控制进程(或线程)同步(谁先执行,谁后执行 ...

  3. Netty网络框架学习笔记-16(心跳(heartbeat)服务源码分析)

    Netty网络框架学习笔记-16(心跳(heartbeat)服务源码分析_2020.06.25) 前言: Netty 作为一个网络框架,提供了诸多功能,比如编码解码等,Netty 还提供了非常重要的一 ...

  4. 【论文学习笔记-16】立体匹配:360SD-net

    [论文学习笔记-16]立体匹配:360SD-net Contribution RelatedWork Method Experiment 本文利用两张360°摄像机获得的球形图片进行立体匹配,与双目立 ...

  5. cocos2d-x学习笔记16:记录存储1:CCUserDefault

    cocos2d-x学习笔记16:记录存储1:CCUserDefault 一.简述 CCUserDefalt作为NSUserDefalt类的cocos2d-x实现版本,承担了cocos2d-x引擎的记录 ...

  6. 学习笔记(1)centos7 下安装nginx

    学习笔记(1)centos7 下安装nginx 这里我是通过来自nginx.org的nginx软件包进行安装的. 1.首先为centos设置添加nginx的yum存储库 1.通过vi命令创建一个rep ...

  7. Hadoop学习笔记—16.Pig框架学习

    Hadoop学习笔记-16.Pig框架学习 一.关于Pig:别以为猪不能干活 1.1 Pig的简介 Pig是一个基于Hadoop的大规模数据分析平台,它提供的SQL-LIKE语言叫Pig Latin, ...

  8. 台大李宏毅Machine Learning 2017Fall学习笔记 (16)Unsupervised Learning:Neighbor Embedding

    台大李宏毅Machine Learning 2017Fall学习笔记 (16)Unsupervised Learning:Neighbor Embedding

  9. appium学习笔记

    appium学习笔记 第1节.2节课appium介绍和安装 开源.跨平台.多语言支持的移动应用自动化工具 测试对象 原生APP 混合APP 移动APP APP运行环境 真实设备 虚拟设备 测试程序语言 ...

  10. 区块链学习笔记16——ETH交易树和收据树

    区块链学习笔记16--ETH交易树和收据树 学习视频:北京大学肖臻老师<区块链技术与应用> 笔记参考:北京大学肖臻老师<区块链技术与应用>公开课系列笔记--目录导航页 交易树和 ...

最新文章

  1. Python 自动化办公之 Excel 拆分并自动发邮件
  2. Flink从入门到精通100篇(二十三)-基于Apache Flink的爱奇艺实时计算平台建设实践
  3. java jsonobject转List_java – 将JSONObject转换为List或JSONArray的简单代码?
  4. [OS复习]设备管理1
  5. 利用Contained Database和DAC来开发基于SQL Server Denali和SQL Azure之上的应用程序
  6. map中获取数组_如何从php多维数组中获取特定的键值?
  7. 【人工智能】全网首发!2020年AI、CV、NLP等最全国际会议、顶会时间汇总!!
  8. 数据分析学习笔记 —编译性语言和解释性语言区别
  9. 程序员面试题100题第14题-圆圈中最后剩下的数字
  10. visual studio 2019 Intel Parallel Studio XE2020下FORTRAN安装及MPI并行配置计算
  11. vscode下载Visual Studio Code User System windows及 Mac安装文件下载
  12. CAD命令栏不见了怎么调出来?CAD命令行调出教程
  13. python 存根_pyi文件是干吗的?(一文读懂Python的存根文件和类型检查)
  14. openerp QWeb
  15. golang mgo 使用
  16. 在线协作编辑器EtherPad使用说明
  17. 去除字符串中的转义字符
  18. C#语言实例源码系列-仿360安全卫士界面
  19. vue v-if 加key值的作用
  20. PreScan交通流车流插件(ITM)- Intelligent Traffic Module Plugin与matlab(simlink)联合仿真使用实例

热门文章

  1. 多喝牛奶少吃糖 正确饮食摆脱经前综合征
  2. 用python画机器猫--哆啦A梦,开干!
  3. Hindsight Experience Replay(HER)技术
  4. html圣诞效果,HTML5实现圣诞树效果
  5. PageOffice 安装使用说明
  6. fai 安装debian
  7. 征途服务器文件,征途端游服务器地址
  8. 计算机怎么保存窗口画面,电脑视频怎么旋转保存 怎样将视频画面进行旋转并保存|视频画面旋转工具...
  9. 我的世界服务器怎么弄无限矿物,我的世界暮色森林矿石树资源无限刷攻略
  10. 员工提出辞职后又不想走了,是否可以反悔