环境:

系统:ios 10.13.6 (17G12034)

appium:1.14.0

xcode:10.1

iphone:iphone7 12.4

在尝试使用driver.tap([(a,b)],500)做点击操作报错(复制了一个别人的,自己的当时没有存,大致格式就是这样):

WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: Unhandled endpoint: /session/9C347804-6FAD-44F7-8C25-0CE995D01EF0/wda/touch/perform -- http://localhost:8100/ with parameters {undefined
wildcards = (
"session/9C347804-6FAD-44F7-8C25-0CE995D01EF0/wda/touch/perform"
);
}

搜索了一下是driver.tap()已经不兼容了

这边分享一下我这边测试有效的点击和滑动方法

1、相对坐标点击

def target_click(x1, y1):
''' :param self: :param x1: x1,y1为编写脚本时适用设备的实际坐标 :param y1: :return: ''' a1 = x1 / 374 b1 = y1 / 667 # 获取当前手机屏幕大小X,Y X = driver.get_window_size()['width'] Y = driver.get_window_size()['height'] # 屏幕坐标乘以系数即为用户要点击位置的具体坐标 driver.execute_script("mobile: tap", {"x": a1 * X, "y": b1 * Y})

调用:

target_click(117,515)

2.1、滑动-控件左划

def geteleByPredicate(con):
'''
通过ByPredicate方式获得元素
:param con: condition
:return: 元素
'''
ele = driver.find_element_by_ios_predicate(con)
return ele def toLeftSwipeByPredicate(con):
ele = geteleByPredicate(con)
driver.execute_script("mobile:swipe", {"direction": "left", 'element':ele , "duration": 1})
调用: toLeftSwipeByPredicate("type == 'XCUIElementTypeStaticText' AND value CONTAINS 'xxxx'")

2.2、滑动-整个屏幕缓慢向下滑动2次(这个操作很迷)

driver.execute_script('mobile: scroll', {'direction': 'down'})

————————————————
版权声明:本文为CSDN博主「yy050810」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yy050810/article/details/105782768

appium ios 相对坐标点击和控件滑动操作的更多相关文章

  1. c#鼠标点击TextBox控件后清空默认字体

    方案(一) 脚本: <script type="text/javascript" language="javascript">        //得 ...

  2. Appium Android Bootstrap源码分析之控件AndroidElement

    通过上一篇文章<Appium Android Bootstrap源码分析之简介>我们对bootstrap的定义以及其在appium和uiautomator处于一个什么样的位置有了一个初步的 ...

  3. Appium移动自动化测试(五)--app控件获取之uiautomatorviewer

    初探 在Android的SDk提供了以下的工具来支持我们进行UI自动化测试: uiautomatorviewer:用来扫描和分析Android应用程序的UI控件的工具. uiautomator:一个包 ...

  4. 浅析:点击父控件时,子控件中的textview自动进入选中状态

    原因:父控件属性android:clickable="true",而textview之类的自控件默认不可点击,没有独立的点击监听,这样选中父控件时,textview之类的子控件也进 ...

  5. winform中button点击后再点击其他控件致使button失去焦点,此时button出现黑色边线,去掉黑色边线的方法

    winform中button点击后再点击其他控件致使button失去焦点,此时button出现黑色边线,去掉黑色边线的方法 button的FlatAppearence属性下,设置BorderSize= ...

  6. iOS开发UI篇—手写控件,frame,center和bounds属性

    iOS开发UI基础—手写控件,frame,center和bounds属性 一.手写控件 1.手写控件的步骤 (1)使用相应的控件类创建控件对象 (2)设置该控件的各种属性 (3)添加控件到视图中 (4 ...

  7. iOS开发UI基础—手写控件,frame,center和bounds属性

    iOS开发UI基础—手写控件,frame,center和bounds属性 一.手写控件 1.手写控件的步骤 (1)使用相应的控件类创建控件对象 (2)设置该控件的各种属性 (3)添加控件到视图中 (4 ...

  8. [开源]在iOS上实现Android风格的控件Toast

    [开源]在iOS上实现Android风格的控件Toast iOS的风格和Apple其他产品一样,简单而粗暴.没有给人其他选择的余地,让你又爱又恨.同样的,Apple对待iOS平台的开发人员和对待大众消 ...

  9. 小程序中点击input控件键盘弹出时placeholder文字上移

    最近做的一个小程序项目中,出现了点击input控件键盘弹出时placeholder文字上移,刚开始以为是软键盘弹出布局上移问题是传说中典型的fixed 软键盘顶起问题,因此采纳了网上搜到的" ...

随机推荐

  1. python18day

    今日内容 ''' 用代码模拟博客园系统. 项目分析: 一.首先程序启动,页面显示下面内容供用户选择: 1.请登录 2.请注册 3.进入文章页面 4.进入评论页面 5.进入日记页面 6.进入收藏页面 7 ...

  2. JavaScript之Promise实现原理(手写简易版本 MPromise)

    手写 Promise 实现 Promise的基本使用 Promise定义及用法详情文档:Promise MAD文档 function testPromise(param) { return new P ...

  3. 通过json动态创建控制器

    通过字符串来创建控制器 如果通过字符串来创建控制器 不可以直接通过类型来获取对应的类 因为Swift有命名空间,类前需要加上命名空间的名称 获取命名空间的名称 let executable = NSB ...

  4. 什么是Autolayout

    Autolayout是一种"自动布局"技术,专门用来布局UI界面的 Autolayout自iOS 6开始引入,由于Xcode 4的不给力,当时并没有得到很大推广 自iOS 7(Xc ...

  5. 取代 Mybatis Generator,这款代码生成神器配置更简单,开发效率更高!

    作为一名 Java 后端开发,日常工作中免不了要生成数据库表对应的持久化对象 PO,操作数据库的接口 DAO,以及 CRUD 的 XML,也就是 mapper. Mybatis Generator 是 ...

  6. [源码解析] 模型并行分布式训练Megatron (5) --Pipedream Flush

    [源码解析] 模型并行分布式训练Megatron (5) --Pipedream Flush 目录 [源码解析] 模型并行分布式训练Megatron (5) --Pipedream Flush 0x0 ...

  7. JVM性能调优与实战基础理论篇-中

    JVM内存模型 概述 我们所说的JVM内存模型是指运行时数据区,用New出来的对象放在堆中,如每个线程中局部变量放在栈或叫虚拟机栈中,下图左边区域部分为栈内存的结构.如main线程包含程序炯酸器.线程 ...

  8. 年前最后一次2022.1.28_RP++

    T1同昨(我看到题目就粘上昨天的代码,结果题还没发我就A了hhhhhh) T2一开始想用深搜,结果T掉了...只好改广搜,就挺令人头大 点击查看宽广对比 #include<bits/stdc++ ...

  9. 在Linux中设置php变量的方法

    默认情况下已经安装好了PHP环境,并且知道安装好后的PHP文件路径,然后可以通过以下的方式设置PHP变量,快速执行PHP命令运行PHP文件. 环境:centos 第一步:vi ~/.bash_prof ...

  10. Solution -「Ynoi 2018」「洛谷 P4117」五彩斑斓的世界

    \(\mathcal{Description}\)   Link.   给定序列 \(\{a_n\}\),处理 \(m\) 次操作: 给定 \(l,r,x\),把 \([l,r]\) 内所有 \(&g ...