Appium高级手势操作

滑动操作

scroll事件

概念

从一个元素滑动到另外一个元素,直到页面自动停止,模拟人滑动一下的操作。必须要求两个元素都在界面上可见,否则会报错。

  • orgin_el:滑动开始的元素

  • destination_el:滑动结束的元素

  • duration:滑动持续的时间,默认是600ms,时间越大滑动越慢

driver.scroll(orgin_el, destination_el, duration=600)

driver = webdriver.Remote('http://localhost:4723/wd/hub', settings_dict)
​
end = driver.find_element('xpath', '//*[@text="蓝牙"]')
start = driver.find_element('xpath', '//*[@text="电池"]')
​
driver.scroll(start, end, duration=5000)

从电池元素那里开始滑动到蓝牙位置结束

scroll滑动的准确性不高

drag_and_drop事件

概念

从一个元素滑动到另一个元素,第二个元素替代第一个元素在原本屏幕上的位置。也是两个元素必须在界面上可见,否则报错。

  • orgin'_el:滑动开始的元素

  • destination_el:滑动结束的元素

driver.drag_and_drop(orgin_el, destination_el)

drag_and_drop不能设置持续时间,但滑动效果比scroll更加精确,几乎没有惯性。

基于位置坐标的滑动

概念

从一个坐标点滑动到界面的另一个坐标点,通常用于开屏动画滑动、多图片连续滑动等。

driver.swipe(x1, y1, x2, y2, duration)

  • x1, y1:第一个点的x和y坐标

  • x2, y2:第二个点的x和y坐标

  • duration:持续时间,事件越长,滑动的越慢

driver.swipe(140, 800, 140, 100, duration=500)

TouchAction

  1. 轻敲手势

  2. 长按手势

  3. 手指移动操作

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

使用步骤:

  1. 创建TouchAction对象

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

  3. 通过perform方法执行动作(所有手势必须通过perform方法来触发)

轻敲手势

ta = TouchAction(driver)
ta.tap(x=121, y=340).perform()

可以使用坐标点击元素,也可以使用find_element获取到元素传入

长按手势

按住press/长按long_press操作

  • el:要长按的元素

  • x:长按的x坐标

  • y:长按的y坐标(坐标和元素对象两种方式二选一)

  • duration:长按时间

TouchAction(driver).long_press(el=None, x=None, y=None, duration=1000).perform()

driver = webdriver.Remote('http://localhost:4723/wd/hub', settings_dict)ta = TouchAction(driver)
ta.press(x=89, y=337).perform()
ta.move_to(x=268, y=337).perform()
ta.move_to(x=443, y=337).perform()
ta.move_to(x=268, y=520).perform()
ta.move_to(x=89, y=701).release().perform()     # release松开手

day15-Appium高级手势操作相关推荐

  1. appium自动化之手势操作总结(附带手势解锁)

    说说常用appium做自动化经常会用到的手势操作.声明:所有的手势操作都会用到这个模块   from appium.webdriver.common.touch_action import Touch ...

  2. 【Python+Appium】开展自动化测试(十)TouchAction类与MultiAction类(控件元素的滑动、拖动,九宫格解锁,手势操作等)

    目录 前言 一,TouchAction类 1,TouchAction类由webdriver库提供,提供以下方法: 2,tap点击 3,press短按 4,long_press长按 5,move_to移 ...

  3. Android之GestureDetector-简单手势操作及通过手势缩放图片,我离职后面试收割小米等大厂offer

    Android提供了手势检测,并为其提供了相应的监听器,需要用到的类是GestureDetector,其实例代表了一个手势检测器,创建GestureDetector时需要传入一个GestureDete ...

  4. 手势操作TouchAction

    对于Appium来说,手势操作都集中在TouchAction这个类中,以下是对几种手势api的使用例子 1. 点击操作 TouchAction ta=new TouchAction(driver);/ ...

  5. 隔空手势操作、智能护眼模式——详解优酷最新交互技术

    目前,人脸和图像识别的相关技术已经广泛投入到商业应用中,比如以 FaceU 为代表的视频拍摄工具类 APP,以及各种直播类 APP 中都有基于脸部的动态贴纸特效功能.此外各大硬件厂商也在设备的系统层面 ...

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

    目标 1.能够使用代码完成轻敲手势 2.能够使用代码完成按下手势 3.能够使用代码完成抬起手势 4.能够使用代码完成等待操作 5.能够使用代码完成长按手势 6.能够使用代码完成手指移动操作 高级手势T ...

  7. Swift开发:仿Clear手势操作(拖拽、划动、捏合)UITableView

    2019独角兽企业重金招聘Python工程师标准>>> 这是一个完全依靠手势的操作ToDoList的演示,功能上左划删除,右划完成任务,拖拽调整顺序,捏合张开插入. 项目源码: ht ...

  8. 移动端手势操作--两点同时点击的实现方案

    手机屏幕单点接触是click事件,那两点接触呢?最近项目中的需求是监视手机屏幕的两个手指同时点击事件.类似的需求还是多个手指点击等.技术实现方案很简单,但是由于一个人思路有限,结果绕了一些弯路.记录下 ...

  9. iphonex如何关机_iphonex常用手势操作有哪些 iphonex常用手势操作介绍【详解】

    iphonex常用手势操作有什么?相信小伙伴们一定很好奇,下面小编为大家带来了iphonex常用手势操作大全一览,感兴趣的小伙伴赶紧跟着小编一起来看看吧. 如何唤醒Siri 苹果一直追求极简的设计思路 ...

最新文章

  1. ACdream OJ 1140 Counting Triangles
  2. pyCharm 当中使用VirtualEnv
  3. CV之FRec之ME/LF:人脸识别中常用的模型评估指标/损失函数(Triplet Loss、Center Loss)简介、使用方法之详细攻略
  4. iserdese2接口详解_Xilinx Notes.docx
  5. 实验九 根据材料编程(改变字体颜色)
  6. Keil uVision5 之 C51 与 MDK 共存
  7. P3512 [POI2010]PIL-Pilots(单调队列+二分)
  8. 16.对极几何——介绍,立体视觉约束,条件_1
  9. 如何在linux查找虚拟机主机号_Linux主机名如何重命名?
  10. 关于概率性事件的产品性能和客户体验讨论
  11. JDBC06 其他操作及批处理Batch
  12. 用计算机关闭无线网络连接,我的DELL笔记本电脑无线网络已关闭,怎么进行再连接?...
  13. 如何利用会员积分体系提高用户活跃留存
  14. 计算机共享打印机怎么弄,电脑共享打印机怎么设置,手把手教你设置共享打印机...
  15. 石墨笔记,熊掌记和 Effie 哪个更适合 SMZDM 开箱评论者?
  16. vue功能之“微信支付“
  17. 推荐28个网站,让你边玩边学
  18. 步进电机的使用方法和控制方式基本介绍
  19. 淘宝用户购物行为分析
  20. 侯捷文章:初学者要如何学习 C++【我见 我闻我感我思】

热门文章

  1. unity粒子实现烟雾效果
  2. 关于java集合的查找和删除的小程序
  3. post和get方式在http请求中的区别
  4. 基于手机APP的PLC远程监控系统
  5. linux改变群组的命令,linux改变文件群组命令
  6. pes时处理PTS和DTS的方法
  7. 非关系型数据库 之 图数据库Neo4j的使用(Python3)
  8. 我的人工智能梦(一、前言)
  9. Dremel-大数据上的交互式分析
  10. 温度传感器DS18B20的使用