appium ios 相对坐标点击和控件滑动操作
环境:
系统: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 相对坐标点击和控件滑动操作的更多相关文章
- c#鼠标点击TextBox控件后清空默认字体
方案(一) 脚本: <script type="text/javascript" language="javascript"> //得 ...
- Appium Android Bootstrap源码分析之控件AndroidElement
通过上一篇文章<Appium Android Bootstrap源码分析之简介>我们对bootstrap的定义以及其在appium和uiautomator处于一个什么样的位置有了一个初步的 ...
- Appium移动自动化测试(五)--app控件获取之uiautomatorviewer
初探 在Android的SDk提供了以下的工具来支持我们进行UI自动化测试: uiautomatorviewer:用来扫描和分析Android应用程序的UI控件的工具. uiautomator:一个包 ...
- 浅析:点击父控件时,子控件中的textview自动进入选中状态
原因:父控件属性android:clickable="true",而textview之类的自控件默认不可点击,没有独立的点击监听,这样选中父控件时,textview之类的子控件也进 ...
- winform中button点击后再点击其他控件致使button失去焦点,此时button出现黑色边线,去掉黑色边线的方法
winform中button点击后再点击其他控件致使button失去焦点,此时button出现黑色边线,去掉黑色边线的方法 button的FlatAppearence属性下,设置BorderSize= ...
- iOS开发UI篇—手写控件,frame,center和bounds属性
iOS开发UI基础—手写控件,frame,center和bounds属性 一.手写控件 1.手写控件的步骤 (1)使用相应的控件类创建控件对象 (2)设置该控件的各种属性 (3)添加控件到视图中 (4 ...
- iOS开发UI基础—手写控件,frame,center和bounds属性
iOS开发UI基础—手写控件,frame,center和bounds属性 一.手写控件 1.手写控件的步骤 (1)使用相应的控件类创建控件对象 (2)设置该控件的各种属性 (3)添加控件到视图中 (4 ...
- [开源]在iOS上实现Android风格的控件Toast
[开源]在iOS上实现Android风格的控件Toast iOS的风格和Apple其他产品一样,简单而粗暴.没有给人其他选择的余地,让你又爱又恨.同样的,Apple对待iOS平台的开发人员和对待大众消 ...
- 小程序中点击input控件键盘弹出时placeholder文字上移
最近做的一个小程序项目中,出现了点击input控件键盘弹出时placeholder文字上移,刚开始以为是软键盘弹出布局上移问题是传说中典型的fixed 软键盘顶起问题,因此采纳了网上搜到的" ...
随机推荐
- python 小兵(6)函数进阶
阅读目录 函数参数-动态参数 名称空间 函数的嵌套 gloabal.nonlocal 回到顶部 函数参数-动态参数 之前我们说过传参,如果我们在传参数的时候不很清楚有哪些的时候,或者说给一个函数传了很 ...
- django之mysqlclient安装
如果运行环境中没有安装mysqlclient,在迁移数据库时会发生错误 一.在windows下安装: ·如果直接使用 pip install mysqlclient 会提示安装失败(版本不对或者找不到 ...
- Dapr Actor 的微服务架构
Dapr中的Actor模型,和Orleans的Virtual Actor一脉相传, 圣杰写过一篇文章Orleans 知多少 | .NET Core 分布式框架介绍过.简单来讲:Actor模型 = 状态 ...
- Web:移动端阻止默认行为的小坑
问题 移动端 web 开发中,使用 addEventListener 阻止了 touchstart 事件的默认行为却发现没有生效 描述 再移动端 web 开发中,我们一般会用 addEventList ...
- SpringMVC 解析(二)DispatcherServlet
在我的关于Tomcat容器介绍的文章中,介绍了Tomcat容器的工作原理,我们知道Tomcat容器在收到请求之后,会把请求处理为Request/Response对象,交给Servlet实例处理.对于S ...
- Linux shell脚本之 if条件判断 (转)
IF条件判断 1.基本语法: if [ command ]; then 符合该条件执行的语句 fi 2.扩展语法: if [ command ];then 符合该条件执行的语句 elif [ comm ...
- Linux开机显示模式切换
修改vim /etc/inittab 默认为5-图形界面模式,改为3-多用户模式即可 # Default runlevel. The runlevels used are: # 0 - halt (D ...
- udp的第一个例子
import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import j ...
- iOS开发笔记,简单实现视频音频的边下边播
总是在网上看别人的博文,受益匪浅,从没自己写过,今天分享一点小经验,第一次写技术博客,希望对同行的ios猿们有所帮助. 先介绍一下自己的情况:一年ios开发,http协议不太懂,大约知道断点下载h ...
- 基于Java的简单银行管理系统(MVC设计模式)
项目导航 功能展示 项目描述 项目结构 `data` `service` `utils` `view ` 欠缺与总结 源码下载 功能展示 本系统基于命令台窗口,暂未与图形页面结合.话不多说,先上效果图 ...