Python+Appium自动化测试-通过坐标定位元素
在使用appium做app自动化测试的过程中,可能会遇到元素的属性值不是唯一的情况,导致不能通过find_element_bi_xx()方法定位元素,这个时候我们就可以通过坐标来定位元素。
1,通过绝对坐标定位(不推荐)
在手机(或模拟器)的开发者选项里打开指针位置,任意点的绝对坐标都能获取到,如下A点的坐标为(542, 1362)
2,通过相对坐标定位(推荐)
更换不同分辨的测试机后,之前获取的手机某个位置点的绝对坐标就会改变,这样每次更换测试机都需要更改坐标,显然是不方便代码的维护,所以就需要获取相对坐标。
2.1,获取相对坐标的思路:
1,选择任意一台测试手机(或模拟器)
2,获取需要定位的点的绝对坐标(x1, y1)
3,获取当前测试机屏幕的宽度(w1)、高度(h1)
4,获取该点横坐标与屏幕宽的比(x1/w1),纵坐标与屏幕高的比(y1/h1)
5,更换测试机后,获取新的测试机屏幕的宽(w2),高(h2)
6,计算新测试机上该点横坐标x2=w2 * (x1/w1),纵坐标y2 = h2 * (y1/h1)
2.2,点击A点代码如下:
点击绝对坐标
# 点击绝对坐标时的代码,测试机屏幕宽1080,高2340
driver.tap(542, 1362)
点击相对坐标
# 重新封装点击A点相对坐标的方法
def tapA(driver):# 比例系数x = 542/1080y = 1362/2340# 获取新测试机屏幕宽、高w = driver.get_window_size()['width']h = driver.get_window_size()['height']# 屏幕宽高乘以A点的比例系数,即可得A点在新测试机上坐标driver.tap(x*w, y*h)
需要注意:
1,webdriver中提供坐标点击方法tap(),而元素点击方法则是click();
2,区别于TouchAction类中的tap()方法,不需要构造TouchAction对象,driver对象调用即可。
如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣可以加入我们。642830685,免费领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!技术大牛解惑答疑,同行一起交流。
Python+Appium自动化测试-通过坐标定位元素相关推荐
- Appium+Python appium启动夜神模拟器定位元素(三)
① 目的 使用appium启动夜神模拟器定位元素 ② 环境 Python+Appium+Android模拟器 ③配置启动项 1.platformName:Android //设备型号 2.platfo ...
- appium使用相对坐标定位元素
最近在用appium做自动化时发现,有一些元素无法通过uiautomatorviewer进行定位,这样就只能通过相对坐标来进行定位了.但是,问题又来了:如何获取元素的坐标呢? 在网上找了半天也没找到相 ...
- [607]appium根据屏幕大小滑动界面|通过坐标定位元素
文章目录 appium根据屏幕大小滑动界面 通过坐标定位元素 appium根据屏幕大小滑动界面 driver.get_window_size() 获取屏幕的宽.高: driver.swipe() 从坐 ...
- Python+Appium自动化测试之toast定位
目录 一. 前言 二. 环境 三. toast定位准备与定位方法 1. 准备 2. 定位方法 四. 示例代码 一. 前言 在app自动化测试的过程中经常会遇到需要对toast进行定位,最常见的就是定位 ...
- python+appium自动化测试:输入中文失败的解决办法(只针对夜游模拟器)
关于写python+appium自动化测试脚本时,输入不了中文的问题,在网上百度了很多,都是加入下面2行代码: caps["unicodeKeyboard"] = "Tr ...
- 【Python+Appium】开展自动化测试(十二)通过坐标定位元素
目录 前言 1,通过绝对坐标定位(不推荐) 2,通过相对坐标定位(推荐) 写在最后 前言 在使用appium做app自动化测试的过程中,可能会遇到元素的属性值不是唯一的情况,导致不能 ...
- python+appium自动化测试元素定位
关于app自动化测试,元素定位工具有三个: appium自带的Appium Inspector工具 Android ADT原生的工具 python版uiautomator2中的weditor 由于我常 ...
- Appium相对坐标定位元素
Appium当前页面为h5页面,UIAutomatorviewer无法获取页面来定位元素,通过坐标模拟点击手机屏幕定位 自动化环境 设备:Android 脚本语言:Python 元素定位 手机坐标定位 ...
- appium通过坐标定位元素
用appium做自动化时发现,有一些元素无法通过uiautomatorviewer进行定位,比如h5页面元素或者有的app元素在uiautomatorviewer中的属性没有唯一标识,这种情况下就只能 ...
最新文章
- linux mysql设置开机启动脚本_linux下添加oracle自启动脚本
- GIS最新热点以及未来发展热门
- NHibernate之旅(10):探索父子(一对多)关联查询
- 打造完美的JS树形菜单
- MYSQL监控-自带工具Query Profiler的使用
- windows7旗舰版系统自带组件IIS搭建ftp
- [深度学习] 分布式Horovod介绍(四)
- webstorm配置Monokai-Sublime.jar主题
- 3.15 晚会—「饿了么」之殇
- (62)SPI外设驱动协议(一)(第13天)
- 萌新的Python练习实例100例(六)斐波那契数列
- 【路径规划】基于matlab改进的蚁群算法机器人栅格地图避障路径规划【含Matlab源码 905期】
- 数据抽取oracle_【跟我学】特征抽取算法与应用
- 文石电子书设置外挂词典有声英文翻译
- elasticsearch启动报错:master not discovered yet
- CS1703 C# Multiple assemblies with equivalent xxx... and. Remove one of the duplicate references.
- 股票挂钩产品的设计、定价和避险原理
- EMI共模电感一般什么材质你知道吗
- webpack优化系列七:首屏加载优化
- 解决微信小程序调试进入 paused in debugger 状态解决办法