环境:

系统: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. Java 继承02

    向上类型转换 父类型的引用指向子类型的实例. Person p = new Person();Animal a = p; //子类对象赋值给父类类型的变量 注意: 向上转型后,子类单独定义的方法会丢失 ...

  2. Pycharm 使用备忘

    1.打开方法定义 快捷方式:[ctrl+左键]或者[Ctrl+B] 如果点击之后,打开不是[.py]文件,而是[.pyi]文件,可以把下面红框的参数删掉. 2.设置文件开头默认注释 # *_* cod ...

  3. Python3.7.3 + pycharm安装

    Python3.7.3下载地址: https://www.python.org/ https://www.python.org/getit/ Pycharm: http://www.jetbrains ...

  4. asyncio和aiohttp

    asyncio官网 https://docs.python.org/zh-cn/3/library/asyncio-task.html 下面为伪代码: import aiohttp import as ...

  5. HCNP Routing&Switching之组播技术-IGMP-Snooping

    前文我们了解了组播协议IGMP相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15700550.html:今天我们来聊一聊二层交换机处理组播报文所面临的 ...

  6. bom案例4-模拟滚动条

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  7. argc 和 argv

    转载请注明来源:https://www.cnblogs.com/hookjc/ 如果用C寫一般的命令列工具,常透過main函式的argc,argv來取得使用者所輸入的命令參數.int main(int ...

  8. 【转载收藏】使用Jacoco远程统计tomcat服务的代码覆盖率

    在做软件开发的时候经常会遇到做各种测试,这里介绍一种本人遇到的:代码覆盖率测试, 这个测试非常实用,能发现许多无效的模块和代码.强烈推荐!!!!! 网上好多资料都不全,而且没有详细的配置流程 本文将简 ...

  9. Lvs+Keepalived+MySQL Cluster架设高可用负载均衡Mysql集群

    ------------------------------------- 一.前言 二.MySQL Cluster基本概念 三.环境 四.配置 1.LB-Master及LB-Backup配置 2.M ...

  10. ReentrantLock与synchronized比较分析

    ReentrantLock:完成了Lock接口,是一个可重入锁,并且支持线程公正竞赛和非公正竞赛两种形式,默认情况下对错公正形式.ReentrantLock算是synchronized的补充和替代计划 ...