有头发且有趣的码农万里挑一~

104

有料叔 | 一位有故事的程序猿

在网页中我们经常使用缩放操作来便利的查看具体的信息,在appium中使用MultiAction多点触控的类来实现

MultiAction是多点触控的类,可以模拟用户多点操作。主要包含加载add()和执行perform()两个方法. MultiAction一般和TouchAction结合使用,故需要导入以下模块:

from appium.webdriver.conmmon. touch_action import TouchAction

from appium.webdriver.conmmon. multi_action import MultiAction

使用方法如下:

加载:add()

add(action1,action2,…)将touchaction的对象添加到MultiAction中

action1,action2描述一个手指要执行的动作

例如:

action1=TouchAction(driver)

Action1.press(x,y)wait(1000).move_to(x1,y1).release()

MultiAction(driver).add(action1)

执行:perform()

perform()执行存储在对象中的操作,结合add()使用,

例如:

action1=TouchAction(driver)

Action1.press(x,y)wait(1000).move_to(x1,y1).release()

MultiAction(driver).add(action1)

MultiAction(driver).perform()

完整案例:

以地图为例

放大(Zoom):则手指分别从B>A,C>D同时向外移动放大页面

缩小(pinch):则手指分别从A>B,D>C同时向中间移动缩小页面

#初始化

from appium import webdriver

from appium.webdriver.common.touch_action import TouchAction

from appium.webdriver.common.multi_action import MultiAction

x=driver.get_size()[‘width’]

y=driver.get_size()[‘height’]

#定义放大函数

def Zoom():

action1=TouchAction(driver) #第一个手势

action2=TouchAction(driver) #第二个手势

zoom_action=MultiAction(driver) #放大手势

action1.press(x*0.4,y*0.4).wait(1000).move_to(x*0.2,y*0.2).release()

action2.press(x*0.6,y*0.6).wait(1000).move_to(x*0.8,y*0.8).release()

zoom _action.add(action1,action2)   #加载

zoom _action.perform()  #执行

def Pinch(): #定义缩小函数

action1=TouchAction(driver) #第一个手势

action2=TouchAction(driver) #第二个手势

pinch _action=MultiAction(driver) #放大手势

action1.press(x*0.2,y*0.2).wait(1000).move_to(x*0.4,y*0.4).release()

action2.press(x*0.8,y*0.8).wait(1000).move_to(x*0.6,y*0.6).release()

pinch _action.add(action1,action2)   #加载

pinch _action.perform()  #执行

#主函数调用子函数

#__name=’__main__’表示执行当前py文件;否则当前文件属于调用模块

if __name__=’__main__’:

for i int range(3): #执行缩小函数3次,range(3)代表执行0,1,2共3次

Pinch()

vue 多点触控手势_涨姿势了!Appium也可以多点触控操作相关推荐

  1. vue 多点触控手势_手写 Vue 手势组件__Vue.js

    前言 最近需要使用手指捏合扩大的手势操作,找了几个组件,要么对 Vue 适配不好,要么量级太大,决定自己手写手势操作. 项目与效果预览 思路 直接在 DOM 上绑定 touchstart .touch ...

  2. Linux的触屏手势软件安装,如何添加Mac的多点触控手势到Ubuntu | MOS86

    虽然Mac操作系统有很多故障,易于使用是苹果在其他地方超越的主要地方.在Mac笔记本电脑上,由于macOS如何实现触摸板手势,因此用户可以期待出色的令人印象深刻的触摸板体验. On默认情况下Ubunt ...

  3. netty 工控网关_开源软件分享-基于.NET的工控网关和组态软件

    最近逛github发现一款不错的组态软件,其包括了工控网关和组态界面.其中他的工控网关已支持(Modbus TCP/RTU. OPC DA. Siemens S300/200/1200/1500. P ...

  4. vue 多点触控手势_移动端手势事件(多指操作)

    在移动端开发中,现有的手势事件只有IOS上的浏览器支持,因此对其他设备上的浏览器手势事件我们必须在移动端的touchstart.toucmove.touchend事件上进行改造升级,下面就介绍下升级改 ...

  5. 让一个图片填满一个控件_如何在Android中实现一个全景图控件(二)

    一.背景 在 如何在Android中实现一个全景图控件(一)中,介绍了项目的一些基本情况(有 demo 演示),如果项目对你有帮助,希望文章赏个赞,项目 star 一下. 项目地址:https://g ...

  6. vb.net 图形控件_玩转图形:VB.net GlassLabel控件

    vb.net 图形控件 A while ago, I was working on a Windows Forms application and I needed a special label c ...

  7. python 操作 windows 控件_在中文windows下使用pywinauto进行窗口操作(一)

    这两天开始接触pywinauto,听说百度的自动化QA也用这个模块,于是来了兴趣,但网上的教程很少,而且基本上都是拿官方的notepad来说,首先中文菜单的支持是问题,其次各种操作也没有写清楚,阅读官 ...

  8. vs2010串口开发(mscomm控件)_未在此计算机上注册ActiveX控件

    1.简介 在vs2010做串口开发时,当使用mscomm控件时,如果没有注册MSCOMM32.OCX,在运行工程时会弹出"未在此计算机上注册ActiveX控件"这个警告,解决方法如 ...

  9. android 处理多点触控手势

    编写:Andrwyw - 原文:http://developer.android.com/training/gestures/multi.html 多点触控手势是指在同一时间有多点(手指)触碰屏幕.本 ...

最新文章

  1. 工具用途_机械加工中研磨加工刀具(砂轮)﹑治工具及其用途
  2. ORB-SLAM3在windows下的编译使用
  3. 去伪存真,更多区块链落地应用即将涌现
  4. Prismatic 机器学习不一定得用大框架
  5. 管家婆有未记账的凭证怎么办_管家婆常见问题
  6. 人人都可以做深度学习应用:入门篇
  7. LeetCode 第 206 场周赛(733/4491,前16.3%)
  8. 使用函数输出水仙花数
  9. 更改窗口图标并将其显示在任务栏
  10. eclipse 3.x中热部署WEB程序TOMCAT配置
  11. 教你怎么在arxiv快速下载pdf论文
  12. Wechat协议初探
  13. 极路由2(HC5761)免云平台开启SSH
  14. fastlane二开java_从入门开始使用Fastlane
  15. gorm中使用where in 条件
  16. 揭秘:雷电模拟器工作方式
  17. 解决vue项目中@mousemove 事件 子元素触发了父元素事件
  18. Spring定时任务-@Scheduled
  19. 实现可点击的幸运大转盘
  20. css实现箭头上下跳动动画

热门文章

  1. 面对新型肺炎疫情,AI 能做什么?
  2. 没有它,我们寸步难行——LBS的渊源与实践
  3. 华为证实 P40 将没有 Google 服务;李世石退役;Python 3.8.1 发布 | 极客头条
  4. 开发者强势围观!Gartner 发布 2020 年十大战略科技发展趋势
  5. Java 会是首选的最佳编程语言吗?
  6. Java String 对象,你真的了解了吗?| CSDN 博文精选
  7. 深入浅出 Vue 响应式原理!
  8. @程序员,你真得了解每天打交道的字节吗?
  9. 深入聊一聊 Spring AOP 实现机制!
  10. 2019 年的 Linux 会如何?