首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Appium 多点触控操作——地图缩放

Appium 多点触控操作——地图缩放

作者头像
清风穆云
发布于 2021-08-09 02:53:09
发布于 2021-08-09 02:53:09
1.2K02
代码可运行
举报
文章被收录于专栏:QA一隅QA一隅
运行总次数:2
代码可运行

问题思考

在使用地图App中,我们经常需要对界面进行缩放操作来更加便利的查看位置。那么在Appium中怎样去模拟这类操作呢?

MultiAction

MultiAction 是多点触控的类,可以模拟用户多点操作。主要包含 add() 和 perform() 两个方法, MultiAction可以结合前面所学的 ActionTouch可以模拟出用户的多个手指滑动的操作效果;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from appium.webdriver.common.multi_action import MultiAction
from appium.webdriver.common.touch_action import TouchAction

加载:

方法add(self, *touch_actions)将TouchAction对象添加到MultiAction中,稍后再执行。

参数:
  • touch_actions - 一个或多个TouchAction对象,描述一个手指要执行的动作链
用法
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
a1 = TouchAction(driver)
a1.press(el1).move_to(el2).release()

a2 = TouchAction(driver)
a2.press(el2).move_to(el1).release()

MultiAction(driver).add(a1, a2)

执行

perform(self) 执行存储在对象中的操作。

用法
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
a1 = TouchAction(driver)
a1.press(el1).move_to(el2).release()

a2 = TouchAction(driver)
a2.press(el2).move_to(el1).release()

MultiAction(driver).add(a1, a2).perform()

Ps:是不是有点类似Python里面的多线程和多进程的使用。

多点触控操作实战——地图App缩放

测试场景

安装启动百度地图Android app 进入地图后分别进行放大缩小操作

测试环境
  • Appium 1.7.2
  • Win10 64bit
  • 夜神模拟器 Android5.1.1
  • 百度地图Android版 V10.6.5
滑动原理图解
代码实现

multi_action.py

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from appium import webdriver
from time import sleep
from appium.webdriver.common.touch_action import TouchAction
from appium.webdriver.common.multi_action import MultiAction


desired_caps={}
desired_caps['platformName']='Android'
desired_caps['deviceName']='127.0.0.1:62025'
desired_caps['platforVersion']='5.1.1'

desired_caps['app']=r'C:\Users\Shuqing\Desktop\com.baidu.BaiduMap.apk'
desired_caps['appPackage']='com.baidu.BaiduMap'
desired_caps['appActivity']='com.baidu.baidumaps.WelcomeScreen'

driver=webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)
driver.implicitly_wait(5)

driver.find_element_by_id('com.baidu.BaiduMap:id/dj2').click()
driver.find_element_by_id('com.baidu.BaiduMap:id/byo').click()

x=driver.get_window_size()['width']
y=driver.get_window_size()['height']

def pinch():
    action1=TouchAction(driver)
    action2=TouchAction(driver)
    zoom_action=MultiAction(driver)


    action1.press(x=x*0.2,y=y*0.2).wait(1000).move_to(x=x*0.4,y=y*0.4).wait(1000).release()
    action2.press(x=x*0.8,y=y*0.8).wait(1000).move_to(x=x*0.6,y=y*0.6).wait(1000).release()

    print('start pinch...')
    zoom_action.add(action1,action2)
    zoom_action.perform()

def zoom():
    action1=TouchAction(driver)
    action2=TouchAction(driver)
    zoom_action=MultiAction(driver)


    action1.press(x=x*0.4,y=y*0.4).wait(1000).move_to(x=x*0.2,y=y*0.2).wait(1000).release()
    action2.press(x=x*0.6,y=y*0.6).wait(1000).move_to(x=x*0.8,y=y*0.8).wait(1000).release()

    print('start zoom...')
    zoom_action.add(action1,action2)
    zoom_action.perform()


if __name__ == '__main__':
    for i in range(3):
        pinch()

    for i in range(3):
        zoom()


参考资料

http://appium.io/docs/cn/writing-running-appium/touch-actions/

https://stackoverflow.com/questions/38565116/zoom-action-in-android-using-appium-python-client

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-07-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 QA一隅 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
XRD精修教程:采用CMPR软件拟合峰形函数-测试狗科研测试
在使用GSAS软件进行XRD精修时,一个重要的输入文件就是“仪器参数文件”。仪器参数文件除了包含靶材类型,波长等信息外还包含五个重要的峰形参数:GU,GV,GW,LX和LY。
测试狗科研
2024/11/29
4090
XRD精修教程:采用CMPR软件拟合峰形函数-测试狗科研测试
XRD分析软件Jade 9.0中文版下载+安装教程
运行稳定,能够处理X射线衍射的数据,可进行衍射峰的指标化、进行晶格参数的计算。通过比较XRD图谱不同处峰的分离和拟合,并与既有物质pdf卡比较,以此分析出该物资是什么物质的什么晶型,结晶度,多种物质的含量比,以此来分析实验中可能出现的误差和产物中的杂质。
知识兔下载
2023/04/21
32.1K0
XRD测试数据分析工具Jade 6.5版下载地址及安装教程
Jade是一款XRD分析软件,可以分析X射线衍射,分析出衍射图谱,获得材料的成分、材料内部原子或分子的结构或形态等信息的研究手段。
知识兔下载
2023/04/21
2.8K0
解决方法+jade6.5版本安装包下载免费分享+使用教程
MDI Jade(XRD分析软件)作为专门用于XRD分析(X射线衍射分析)的软件,一直以来深受各位材料领域研究人员的“喜爱”。
知识兔下载
2023/03/11
2.8K0
核磁软件MestReNova 14汉化版,MestReNova软件2023安装教程
MestReNova14的用户界面设计简洁、直观,易于上手。用户可以通过菜单栏、工具栏和状态栏等方式快速进入各个功能模块。同时,MestReNova14提供了许多帮助文档和视频教程,使用户能够快速掌握软件的使用技巧。
用户10436734
2023/04/04
2K0
核磁软件MestReNova 14汉化版,MestReNova软件2023安装教程
同步辐射光源实验数据分析开源软件框架(daisy)简介
DAISY(Data Analysis Integrated Software System)是一款基于面向对象技术开发的跨领域科学数据处理框架,采用C++与Python混合编程实现。其设计初衷是为先进光源设施(如同步辐射光源、中子源等)提供高性能、可扩展的数据处理解决方案,同时通过模块化架构支持多学科场景的灵活适配。
zzh-dahai
2025/07/11
1330
核磁共振分析 MestReNova软件安装包下载,MestReNova安装激活
核磁共振技术已成为现代化学和生物学研究中不可或缺的工具之一。而有效处理和解析核磁共振数据对于获得正确的化学和结构信息至关重要。因此,核磁共振数据处理软件已成为实验室不可或缺的工具之一。MestReNova作为一个强大的核磁共振数据处理软件,能够帮助处理数据,并得到更精确、准确的结果。本文将介绍MestReNova软件的特色功能和使用方法。
用户10436734
2023/04/20
1.1K0
Weka机器学习使用介绍(数据+算法+实战)
Weka是怀卡托智能分析环境(Waikato Environment for Knowledge Analysis)的英文字首缩写,新西兰怀卡托大学用Java开发的数据挖掘著名开源软件。功能有数据处理、特征选择、分类、回归、可视化等,支持多种数据文件格式,如arff、xrff、csv等,主流的数据格式是csv和arff。
Minerva
2020/07/01
16.3K2
Weka机器学习使用介绍(数据+算法+实战)
使用R或者Python编程语言完成Excel的基础操作
尽管Excel在职场和学术界非常流行,但对于一些高级的统计分析、数据可视化、大规模数据处理等任务,可能需要更专业的软件或编程语言,如R、Python、SAS或Stata。此外,对于特定的行业或研究领域,可能会有其他更适合的工具和平台。
生信技能树
2024/05/06
2.4K0
使用R或者Python编程语言完成Excel的基础操作
计量经济学软件EViews最新中文版,EViews软件2023安装教程下载
EViews是一款经济学数据分析软件,主要用于对时间序列数据进行统计分析和建模。它具有直观的用户界面和强大的功能,可以帮助经济学家、金融学家和社会科学研究人员进行各种数据分析。
用户10413399
2023/03/19
1.5K0
计量经济学软件EViews最新中文版,EViews软件2023安装教程下载
机器学习项目模板:ML项目的6个基本步骤
每个机器学习项目都有自己独特的形式。对于每个项目,都可以遵循一组预定义的步骤。尽管没有严格的流程,但是可以提出一个通用模板。
deephub
2020/05/09
1.4K0
机器学习项目模板:ML项目的6个基本步骤
Google Earth Engine(GEE)——GEE最全介绍(7000字长文)初学者福音!
code.earthengine.google.com 上的地球引擎 (EE) 代码编辑器 是用于地球引擎 JavaScript API 的基于网络的 IDE。代码编辑器功能旨在快速轻松地开发复杂的地理空间工作流程。代码编辑器具有以下元素(如图 1 所示):
此星光明
2024/02/02
3.8K0
Google Earth Engine(GEE)——GEE最全介绍(7000字长文)初学者福音!
Capture One Pro 22 for Mac(RAW图像处理软件) v15.4.2.12中文直装版
Capture One 20 Pro for Mac 中文版是一款功能强大的RAW图像处理软件,是RAW图片处理软件行业软件中的领先者!Capture One mac 配备了功能强大的RAW图像转换器,能够呈现精确的色彩并显示最细微的细节,而且通过使用元数据工具,您可以查看编辑metedata信息,甚至可以使用元数据来控制图像搜索范围。而且 Capture One Pro 还可帮助您调整和增强图像,改变曝光和清晰度。
一小朵
2022/11/19
1.6K0
Capture One Pro 22 for Mac(RAW图像处理软件) v15.4.2.12中文直装版
教程|运输IoT中的NiFi
本教程涵盖了Apache NiFi的核心概念及其在其中流量管理,易用性,安全性,可扩展架构和灵活扩展模型非常重要的环境中所扮演的角色。
大数据杂货铺
2021/04/16
2.8K0
教程|运输IoT中的NiFi
Excel 常用的九十九个技巧 Office 自学教程快速掌握办公技巧
Microsoft Excel 是微软为 Windows、macOS、Android 和 iOS 开发的电子表格软件,可以用来制作电子表格、完成许多复杂的数据运算,进行数据的分析和预测,并且具有强大的制作图表的功能。由于 Excel 具有十分友好的人机界面和强大的计算功能,它已成为国内外广大用户管理公司和个人财务、统计数据、绘制各种专业化表格的得力助手。允许用户自定义界面的电子制表软件包括字体、文字属性和单元格格式,它还引进了智能重算的功能,当单元格数据变动时,只有与之相关的数据才会更新,荒岛本次带来九十九个 Excel 技巧,提高您的办公效率。
ximagine
2023/05/05
8.5K0
科研作图origin软件最新正式版,origin软件安装激活教程下载
Origin软件是一款科学数据分析和可视化工具,主要用于绘制和分析各种类型的数据图表。它支持多种数据格式和数据源,可以快速导入和处理数据。
用户10413399
2023/03/19
1.1K0
科研作图origin软件最新正式版,origin软件安装激活教程下载
Prism生物学研究分析软件,Prism软件9.5中文版下载安装
在生物医学、化学、生态学等领域,科学图形的制作和数据的统计分析是不可或缺的环节。Prism软件是一款专业的科学图形制作和数据统计分析工具,拥有多项功能,包括数据的导入、编辑、处理、图形绘制等,被广泛应用于研究、试验、统计分析等领域。本文将介绍Prism软件的正确使用方法和注意事项,并提供实际案例进行举例说明,帮助读者更好地掌握该软件的使用技巧。
用户10410624
2023/04/28
3220
IntelliJ IDEA 2017软件下载和安装教程
IntelliJ IDEA 2017是一款非常好用的编程工具,拥有强大的静态代码分析和人体工程学设计,整合了智能代码助手、代码自动提示、J2EE支持、Ant、JUnit、CVS整合、代码审查等功能,帮助用户更加简单轻松地完成开发设计工作。
肉肉软件安装
2022/11/04
1.6K0
IntelliJ IDEA 2017软件下载和安装教程
从零开始,教初学者如何征战全球最大机器学习竞赛社区Kaggle竞赛
在学习过深度学习的基础知识之后,参与实践是继续提高自己的最好途径。本文将带你进入全球最大机器学习竞赛社区 Kaggle,教你如何选择自己适合的项目,构建自己的模型,提交自己的第一份成绩单。 本文将介绍数据科学领域大家都非常关心的一件事。事先完成一门机器学习 MOOC 课程并对 Python 有一些基础知识有助于理解文本,但没有也没关系。本文并不会向大家展示令人印象深刻的成果,而是回顾基础知识,试图帮助初学者找到方向。 文章结构: 1.介绍 2.Kaggle 综述 3.建立自己的环境 4.预测房价竞赛简介 5
企鹅号小编
2018/02/06
9350
从零开始,教初学者如何征战全球最大机器学习竞赛社区Kaggle竞赛
SAS语法入门介绍[返璞归真002]
SAS是一种统计分析软件,它可以用来处理各种数据,进行数据清洗、分析、可视化和报告等操作。SAS有自己的编程语言,叫做SAS语言,它是一种基于过程的语言,也就是说,它是由一系列的步骤组成的,每个步骤都有一个特定的目的和功能。
归海刀刀
2023/09/27
5230
SAS语法入门介绍[返璞归真002]
推荐阅读
相关推荐
XRD精修教程:采用CMPR软件拟合峰形函数-测试狗科研测试
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档