appium+python自动化26-模拟手势点击坐标(tap)

前言: 有时候定位元素的时候,你使出了十八班武艺还是定位不到,怎么办呢?(面试经常会问) 那就拿出绝招:点元素所在位置的坐标 一、 tap用法 1.tap是模拟手指点击,一般页面上元素 的语法有两个参数,第一个是positions,是list类型最多五个点,duration是持续时间,单位毫秒 ``` tap(self, positions, duration=None): Taps on an particular place with up to five fingers, holding for a certain time 模拟手指点击(最多五个手指),可设置按住时间长度(毫秒) :Args: - positions - list类型,里面对象是元组,最多五个。如:[(100, 20), (100, 60)] - duration - 持续时间,单位毫秒,如:500 :Usage: driver.tap([(100, 20), (100, 60), (100, 100)], 500) ``` 二、 坐标定位 1.如下图定位"去看看"这个按钮的坐标,可以看到右侧bonds属性:[374,831][654,906] ![](http://images2017.cnblogs.com/blog/1070438/201711/1070438-20171103143556748-1500143884.png) 2.点右上角"搜素"按钮,查看bonds属性:[615,52][690,146] ![](http://images2017.cnblogs.com/blog/1070438/201711/1070438-20171103143609013-1508094385.png) 三、 参考案例 ```python # coding:utf-8 from appium import webdriver from time import sleep desired_caps = { 'platformName': 'Android', 'deviceName': '127.0.0.1:62001', 'platformVersion': '4.4.2', 'appPackage': 'com.baidu.yuedu', 'appActivity': 'com.baidu.yuedu.splash.SplashActivity' } driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps) sleep(5) # 点弹出框去看看 driver.tap([(374, 831), (654, 906)], 500) # 返回上一页 driver.back() sleep(2) # 点右上角搜素按钮 driver.tap([(615, 52), (690, 146)], 500) ``` 弊端:通过坐标定位是元素定位的下下下策,实在没办法才用这个,另外如果换了手机分辨率,这个坐标就不能写死了,得算出所在屏幕的比例。

原文发布于微信公众号 - 从零开始学自动化测试(yoyoketang)

原文发表时间:2017-11-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Android干货

html基本标签(慕课网)

3685
来自专栏练小习的专栏

当inline-block和text-indent遇到IE6,IE7

在实际应用中,考虑到seo,很多button,icon都要用到inline-block和text-indent来处理,例如: <a href="#" class...

1946
来自专栏卡少编程之旅

Vue进阶部分文档研读和学习

3157
来自专栏前端杂货铺

mouseenter以及mouseleave兼容性

在IE的全系列中都实现了mouseenter和mouseleave事件,但是在早期的w3c浏览器中却没有实现这两个事件。有时候,我们需要使用 mouseente...

4027
来自专栏西枫里博客

解决Chrome不兼容li标签中的文本溢出自动隐藏的问题

一般情况下对文章列表的调用,通常使用ul循环li标签。受页面模块宽度的的限制,一般需要对li进行文本内容溢出隐藏处理,实现更加合理的排版。经过测试在li标签中使...

902
来自专栏逸鹏说道

Markdown基础(内含:锚点使用,使用HTML,新页面跳转,目录生成)

如果要语法高亮就在```后面加小写语言名,eg:html,css,javascript,python,cs(csharp)等等

2953
来自专栏mukekeheart的iOS之旅

自定义组合控件的过程

自定义组合控件的过程 1.自定义一个View 一般来说,继承相对布局,或者线性布局 ViewGroup; 2.实现父类的构造方法。一般来说,需要在构造方法里初始...

2688
来自专栏每日一篇技术文章

weex-11-组件slider的使用

1.怎么让banner的宽度和屏幕的宽度相等 2.怎么让banner自动轮播和轮播间隔 3.如何添加指示器 4.如何设置指示器的颜色和大小 5.点击轮播...

1651
来自专栏抠抠空间

JavaScript之DOM

一、什么是DOM? DOM (Document Object Model)是指文档对象模型,通过它,可以访问HTML文档的所有元素。 DOM(Docum...

3095
来自专栏从零开始学 Web 前端

从零开始学 Web 之 Vue.js(六)Vue的组件

在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识点,期间也会分享一些好玩的项目。现在就让我们一起进入 Web 前端学习的冒险之旅吧!

974

扫码关注云+社区

领取腾讯云代金券