vue 多点触控手势_涨姿势了!Appium也可以多点触控操作
有头发且有趣的码农万里挑一~
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也可以多点触控操作相关推荐
- vue 多点触控手势_手写 Vue 手势组件__Vue.js
前言 最近需要使用手指捏合扩大的手势操作,找了几个组件,要么对 Vue 适配不好,要么量级太大,决定自己手写手势操作. 项目与效果预览 思路 直接在 DOM 上绑定 touchstart .touch ...
- Linux的触屏手势软件安装,如何添加Mac的多点触控手势到Ubuntu | MOS86
虽然Mac操作系统有很多故障,易于使用是苹果在其他地方超越的主要地方.在Mac笔记本电脑上,由于macOS如何实现触摸板手势,因此用户可以期待出色的令人印象深刻的触摸板体验. On默认情况下Ubunt ...
- netty 工控网关_开源软件分享-基于.NET的工控网关和组态软件
最近逛github发现一款不错的组态软件,其包括了工控网关和组态界面.其中他的工控网关已支持(Modbus TCP/RTU. OPC DA. Siemens S300/200/1200/1500. P ...
- vue 多点触控手势_移动端手势事件(多指操作)
在移动端开发中,现有的手势事件只有IOS上的浏览器支持,因此对其他设备上的浏览器手势事件我们必须在移动端的touchstart.toucmove.touchend事件上进行改造升级,下面就介绍下升级改 ...
- 让一个图片填满一个控件_如何在Android中实现一个全景图控件(二)
一.背景 在 如何在Android中实现一个全景图控件(一)中,介绍了项目的一些基本情况(有 demo 演示),如果项目对你有帮助,希望文章赏个赞,项目 star 一下. 项目地址:https://g ...
- 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 ...
- python 操作 windows 控件_在中文windows下使用pywinauto进行窗口操作(一)
这两天开始接触pywinauto,听说百度的自动化QA也用这个模块,于是来了兴趣,但网上的教程很少,而且基本上都是拿官方的notepad来说,首先中文菜单的支持是问题,其次各种操作也没有写清楚,阅读官 ...
- vs2010串口开发(mscomm控件)_未在此计算机上注册ActiveX控件
1.简介 在vs2010做串口开发时,当使用mscomm控件时,如果没有注册MSCOMM32.OCX,在运行工程时会弹出"未在此计算机上注册ActiveX控件"这个警告,解决方法如 ...
- android 处理多点触控手势
编写:Andrwyw - 原文:http://developer.android.com/training/gestures/multi.html 多点触控手势是指在同一时间有多点(手指)触碰屏幕.本 ...
最新文章
- 工具用途_机械加工中研磨加工刀具(砂轮)﹑治工具及其用途
- ORB-SLAM3在windows下的编译使用
- 去伪存真,更多区块链落地应用即将涌现
- Prismatic 机器学习不一定得用大框架
- 管家婆有未记账的凭证怎么办_管家婆常见问题
- 人人都可以做深度学习应用:入门篇
- LeetCode 第 206 场周赛(733/4491,前16.3%)
- 使用函数输出水仙花数
- 更改窗口图标并将其显示在任务栏
- eclipse 3.x中热部署WEB程序TOMCAT配置
- 教你怎么在arxiv快速下载pdf论文
- Wechat协议初探
- 极路由2(HC5761)免云平台开启SSH
- fastlane二开java_从入门开始使用Fastlane
- gorm中使用where in 条件
- 揭秘:雷电模拟器工作方式
- 解决vue项目中@mousemove 事件 子元素触发了父元素事件
- Spring定时任务-@Scheduled
- 实现可点击的幸运大转盘
- css实现箭头上下跳动动画