UI自动化之driver.Tap坐标定位
相信做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坐标定位相关推荐
- python坐标定位手机元素_Appium+Python之元素定位和操作
一.常用识别元素的工具 uiautomatorviewer:Android SDK自带的一个工具,在tools目录下 二.元素定位 1.格式:find_element_by_定位方式(value) 通 ...
- 基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - 关联
文章目录 关联 (公共变量传递一些值) 基于JAVA实现的WEB端UI自动化 -自动化测试简单介绍 基于JAVA实现的WEB端UI自动化 - WebDriver基础篇 - 实现简单的浏览器操作 基于J ...
- python +opencv 根据图片定位进行UI自动化
python +opencv 根据图片定位进行UI自动化 前言: 做过移动端ui自动化的小伙伴,就会发现很多控件的元素是一样的或者是找不到的,为了解决这个痛点,于是通过图片灰度处理返回坐标x,y找到控 ...
- day15 Ui自动化元素的定位
day15 元素的定位Ui自动化元素的定位1.火狐浏览器安装try xpath2.元素定位思路:(1)查看页面元素,确认能够唯一定位到元素的属性,比如id,文案3.学习xpath cssSelecto ...
- 【UI自动化-2】UI自动化元素定位专题
前言 UI自动化的学习,个人认为应该分五步走:环境搭建.元素定位.特殊场景处理.框架设计与搭建.测试平台开发.第一步的环境搭建其实没什么难度,都是固定的套路.今天就来到了第二步的元素定位,可以说元素定 ...
- UI自动化之元素定位(xpath、css)
很早之前就已经写过自动化了,不过点着功能久了就会容易忘记元素定位,尤其是xpath和css定位,所以就花点时间做下总结收集. xpath有两种定位: 一.绝对路径(不推荐使用,除非已经使用了所有方式仍 ...
- Web UI自动化测试之元素定位
目前,在自动化测试的实际应用中,接口自动化测试被广泛使用,但UI自动化测试也并不会被替代.让我们看看二者的对比: 接口自动化测试是跳过前端界面直接对服务端的测试,执行效率和覆盖率更高,维护成本更低,整 ...
- UI自动化测试之元素定位方法
Python语言Selenium库UI自动化测试(一)元素定位方法 简介 当我们日常搭建自动化测试框架时,用Python调用浏览器时,通常有Requests库.Selenium库 这两个库是进行爬虫或 ...
- 曲鸟全栈UI自动化教学(三):Selenium页面操作原理及如何高效的进行元素定位
一.前言 上篇文章中我们成功编写并启动了第一个selenium脚本.那Selenium是怎样知道我们想要操作哪个元素的呢? 这篇文章将为你讲解Selenium的页面操作原理和高效的元素定位方法. 文章 ...
最新文章
- 山东计算机类好的民办大学,山东四大坑人学校-山东坑人的民办大学(野鸡大学)...
- webpack中loader加载器配置postCss自动添加CSS兼容前缀
- 网站收录的提升离不开“方法”和“坚持”
- Navicat for MySQL 连接 Mysql 8.0.11 出现1251- Client does not support authentication protocol 错误
- awstats+jawstats自动分析日志
- Python | 展示一个break语句示例
- 【qduoj - 1011】数组中出现最多的元素(巧妙方法 或 排序 或 map)
- Sun为何一掷千金拿下MySQL?
- .net 页面框架的层次问题,嵌套问题
- ACMMM 2021-多模态宝藏!京东梅涛团队重磅开源第一个适用于多个任务的多模态代码库x-modaler...
- redhat linux 5 nfs
- HackerOne漏洞奖励计划扩展至开源漏洞
- 页面转发后文本显示???_无代码软件开发中超文本显示设计
- 字长越长计算机的计算速度也越快,计算机字长越长运算速度越慢吗
- Java实现百度富文本编辑器UEditor
- 怎么查看ubuntu虚拟机ip地址?
- matlab数字转换罗马数字,罗马数字(1到1000) 1到1000的叠加是多少
- 网易邮箱服务器邮箱协议,网易邮箱全面支持Exchange协议
- java计算机毕业设计仓库管理系统设计与实现MyBatis+系统+LW文档+源码+调试部署
- 主板cpu盖板怎么盖回去