相信做UI自动化的小伙伴都知道,appium不是左右页面的元素都能定位的到的,尤其是原生中嵌套了H5页面,所有这个时候我们可以通过坐标定位的方式去解决,理论上坐标定位可以解决所有的元素识别问题,但有一个缺点,那就是只负责点击,却不管是不是我们自己要点击的,甚至会因为点击不是我们想要的而导致报错,这是个很坑的事,怎么搞那么直接来代码:

    def __init__(self,driver):self.driver = driver# 获取屏幕的 sizeself.size = driver.get_window_size()# 获取屏幕宽度 widthself.width = self.size['width']# 获取屏幕高度 heightself.height = self.size['height']# 坐标定位、点击长按通用,调试机型屏幕分辩2280*1080,只适配全面屏、2K# 注意全面屏与有底部导航的分辨率不一样,要考虑Y轴的底部导航,[(x,y),z],z:持续时间def driverTap(self,x,y,z=None):self.driver.tap([((x/1080)*self.width,(y/2280)*self.height)],z)

简单的说明:
1、driver.tap有两个参数分别是[(x,y)],z,即要点击的坐标[(x,y)],点击的持续时间z,这里可以用到长按的操作中,还有[(x,y)] 是一个整体参数,记得带[(,)],当初我就在这里躺坑,一直报参数given错误
2、方法里的1080/2280指的是调试机型的屏幕分辨率,注意有些不是全面屏或有启用底部导航的要注意Y轴的导航栏高度,实际的计算中要去掉改高度。x、y指的是调试机型的实际坐标,(x/1080)*self.width,(y/2280)*self.height)是坐标换算方法,可用于计算在不同屏幕分辨率手机的实际坐标,这样换手机也能跑了

调用:

driverTap(x,y,z)

UI自动化之driver.Tap坐标定位相关推荐

  1. python坐标定位手机元素_Appium+Python之元素定位和操作

    一.常用识别元素的工具 uiautomatorviewer:Android SDK自带的一个工具,在tools目录下 二.元素定位 1.格式:find_element_by_定位方式(value) 通 ...

  2. 基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - 关联

    文章目录 关联 (公共变量传递一些值) 基于JAVA实现的WEB端UI自动化 -自动化测试简单介绍 基于JAVA实现的WEB端UI自动化 - WebDriver基础篇 - 实现简单的浏览器操作 基于J ...

  3. python +opencv 根据图片定位进行UI自动化

    python +opencv 根据图片定位进行UI自动化 前言: 做过移动端ui自动化的小伙伴,就会发现很多控件的元素是一样的或者是找不到的,为了解决这个痛点,于是通过图片灰度处理返回坐标x,y找到控 ...

  4. day15 Ui自动化元素的定位

    day15 元素的定位Ui自动化元素的定位1.火狐浏览器安装try xpath2.元素定位思路:(1)查看页面元素,确认能够唯一定位到元素的属性,比如id,文案3.学习xpath cssSelecto ...

  5. 【UI自动化-2】UI自动化元素定位专题

    前言 UI自动化的学习,个人认为应该分五步走:环境搭建.元素定位.特殊场景处理.框架设计与搭建.测试平台开发.第一步的环境搭建其实没什么难度,都是固定的套路.今天就来到了第二步的元素定位,可以说元素定 ...

  6. UI自动化之元素定位(xpath、css)

    很早之前就已经写过自动化了,不过点着功能久了就会容易忘记元素定位,尤其是xpath和css定位,所以就花点时间做下总结收集. xpath有两种定位: 一.绝对路径(不推荐使用,除非已经使用了所有方式仍 ...

  7. Web UI自动化测试之元素定位

    目前,在自动化测试的实际应用中,接口自动化测试被广泛使用,但UI自动化测试也并不会被替代.让我们看看二者的对比: 接口自动化测试是跳过前端界面直接对服务端的测试,执行效率和覆盖率更高,维护成本更低,整 ...

  8. UI自动化测试之元素定位方法

    Python语言Selenium库UI自动化测试(一)元素定位方法 简介 当我们日常搭建自动化测试框架时,用Python调用浏览器时,通常有Requests库.Selenium库 这两个库是进行爬虫或 ...

  9. 曲鸟全栈UI自动化教学(三):Selenium页面操作原理及如何高效的进行元素定位

    一.前言 上篇文章中我们成功编写并启动了第一个selenium脚本.那Selenium是怎样知道我们想要操作哪个元素的呢? 这篇文章将为你讲解Selenium的页面操作原理和高效的元素定位方法. 文章 ...

最新文章

  1. 山东计算机类好的民办大学,山东四大坑人学校-山东坑人的民办大学(野鸡大学)...
  2. webpack中loader加载器配置postCss自动添加CSS兼容前缀
  3. 网站收录的提升离不开“方法”和“坚持”
  4. Navicat for MySQL 连接 Mysql 8.0.11 出现1251- Client does not support authentication protocol 错误
  5. awstats+jawstats自动分析日志
  6. Python | 展示一个break语句示例
  7. 【qduoj - 1011】数组中出现最多的元素(巧妙方法 或 排序 或 map)
  8. Sun为何一掷千金拿下MySQL?
  9. .net 页面框架的层次问题,嵌套问题
  10. ACMMM 2021-多模态宝藏!京东梅涛团队重磅开源第一个适用于多个任务的多模态代码库x-modaler...
  11. redhat linux 5 nfs
  12. HackerOne漏洞奖励计划扩展至开源漏洞
  13. 页面转发后文本显示???_无代码软件开发中超文本显示设计
  14. 字长越长计算机的计算速度也越快,计算机字长越长运算速度越慢吗
  15. Java实现百度富文本编辑器UEditor
  16. 怎么查看ubuntu虚拟机ip地址?
  17. matlab数字转换罗马数字,罗马数字(1到1000) 1到1000的叠加是多少
  18. 网易邮箱服务器邮箱协议,网易邮箱全面支持Exchange协议
  19. java计算机毕业设计仓库管理系统设计与实现MyBatis+系统+LW文档+源码+调试部署
  20. 主板cpu盖板怎么盖回去

热门文章

  1. 【C/C++练习题】斐波那契数列
  2. python 实现otu表水平转化
  3. 《Miss Talk》第07期:对话拓课云联合创始人兼CTO 王晓伟
  4. LAN9252 out端口识别不到的原因排查
  5. 翰麟教育|教育学人物考点梳理
  6. 关于微信公众号accesstoken
  7. Objective-C分类 (catagory)
  8. 也来说说电影《少年班》中周知庸问王大法的问题
  9. 你了解CNAS认证吗?
  10. python量化股票源码_使用Python写一个量化股票提醒系统