当前位置: 首页 > news >正文

appium2.0+ 单点触控和多点触控新的解决方案

#获取设备的大小 -

sizesize_dict = driver.get_window_size()

# ==========放大地图:从地图中心分别向对角线滑动放大 - 2个手指同时执行滑动操作 

actions = ActionChains(driver)

#输入源设备列表为空actions.w3c_actions.devices = []

# ========== 第1个手指:从正中心向右上角滑动 ==================

#添加一个新的输入源到设备到中,输入源类型为Touch,id为finger0

new_input = actions.w3c_actions.add_pointer_input('touch','finger0')

#输入源的动作:移动到某个点,按下,移动到另外一点,释放new_input.create_pointer_move(x=size_dict["width"] * 0.5, y=size_dict["height"] * 0.5)new_input.create_pointer_down()

#

new_input.create_pointer_down(MouseButton.LEFT)

new_input.create_pause(0.2) # 200ms

new_input.create_pointer_move(x=size_dict["width"] * 0.9, y=size_dict["height"] * 0.1)

new_input.create_pointer_up(MouseButton.LEFT)

# ========== 第2个手指:从正中心向左下角滑动 ==================

#添加一个新的输入源到设备到中,输入源类型为Touch。id为finger1

new_input = actions.w3c_actions.add_pointer_input('touch','finger1')

#输入源的动作:移动到某个点,按下,移动到另外一点,释放new_input.create_pointer_move(x=size_dict["width"] * 0.5, y=size_dict["height"] * 0.5)

new_input.create_pointer_down()# new_input.create_pointer_down(MouseButton.LEFT)

new_input.create_pause(0.2) # 200ms

new_input.create_pointer_move(x=size_dict["width"] * 0.1, y=size_dict["height"] * 0.9)

new_input.create_pointer_up(MouseButton.LEFT)

#执行动作

actions.perform()

相关文章:

  • IDEA前端thymeleaf只显示部分数据库问题
  • 构建个性化预约服务:预约上门服务系统源码解读与实战
  • 基于单片机设计的大气气压检测装置(STC89C52+BMP180实现)
  • C语言实现Linux下TCP Server测试工具
  • C/C++---------------LeetCode第2824. 统计和小于目标的下标对数目
  • C语言之strstr函数的使用和模拟实现
  • 《数据结构、算法与应用C++语言描述》-代码实现散列表(线性探查与链式散列)
  • 在AWS VPC中运行Nagios检查时指定自定义DNS解析器的选项
  • 7-22 龟兔赛跑
  • SpringBoot——拦截器
  • 【沐风老师】在3dMax中如何把对象随机散布在表面上?
  • 40、Flink 的Apache Kafka connector(kafka source 和sink 说明及使用示例) 完整版
  • 介绍 Docker 的基本概念和优势,以及在应用程序开发中的实际应用。
  • [原创](免改BIOS)使用Clover升级旧电脑-(高阶玩法)让固态硬盘内置Win11 PE启动系统
  • 【ArcGIS Pro微课1000例】0034:矢量数据几何校正案例(Spatial Adjustment)
  • [Vue CLI 3] 配置解析之 css.extract
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • 【干货分享】SpringCloud微服务架构分布式组件如何共享session对象
  • CEF与代理
  • CSS居中完全指南——构建CSS居中决策树
  • Debian下无root权限使用Python访问Oracle
  • eclipse的离线汉化
  • Effective Java 笔记(一)
  • ES6语法详解(一)
  • iOS 系统授权开发
  • Java到底能干嘛?
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • Leetcode 27 Remove Element
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • maven工程打包jar以及java jar命令的classpath使用
  • PHP那些事儿
  • socket.io+express实现聊天室的思考(三)
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • ucore操作系统实验笔记 - 重新理解中断
  • Zepto.js源码学习之二
  • 大数据与云计算学习:数据分析(二)
  • 工程优化暨babel升级小记
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 树莓派 - 使用须知
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 一个完整Java Web项目背后的密码
  • 在Docker Swarm上部署Apache Storm:第1部分
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • LevelDB 入门 —— 全面了解 LevelDB 的功能特性
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • ​【数据结构与算法】冒泡排序:简单易懂的排序算法解析
  • ​ssh免密码登录设置及问题总结
  • # Java NIO(一)FileChannel
  • # Panda3d 碰撞检测系统介绍
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • #HarmonyOS:软件安装window和mac预览Hello World
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • (ISPRS,2021)具有遥感知识图谱的鲁棒深度对齐网络用于零样本和广义零样本遥感图像场景分类
  • (MTK)java文件添加简单接口并配置相应的SELinux avc 权限笔记2
  • (windows2012共享文件夹和防火墙设置