uiautomator2 使用注意的地方
uiautomator2项目地址:https://github.com/openatx/uiautomator2#basic-api-usages
下面记录一些自己在使用过程中的坑,仅供参考
1.通过weditor 明明可以看到text文本框,为什么使用d(text="xx")定位不到
遇到这种情况,先观察weditor的页面,能不能直接定位到text的内容,如果不能直接定位到,需要想办法直接定位到才能执行相关的操作
打个比方:有两层很薄很薄的纸叠加在一起,一张纸上写2,一张上面写1,2在上,1在下,虽然你透过纸可以看到1,但是毕竟隔了一张纸,你必须穿过上面的纸,才能找到第二张纸上面的1
大概就是你想要找的元素不能直接看到,被遮挡了,这时候通过点击,或者滑动让你想要找到的元素直接暴露在视野范围内,然后就可以定位了
如果不能滑动,那请直接通过坐标点击,不推荐坐标点击,因为坐标点击涉及到屏幕分辨率的问题,可能会比较头疼且容易报错
2.当你想要定位的元素是动态的怎么办?
uiautomator2 提供了很多操作办法,基本上是继承Android的方法,比如wetcher,Selector
更具体的可以移步:https://developer.android.com/reference/android/support/test/uiautomator/UiSelector (可能需要tz)
这里的文字就不是固定的,且这么矮,用坐标点击真的是。。爽酸,换个方法:
self.d(textContains="展开全部").click() # 模糊匹配方法,区分大小写 uiautomator2还是很强大的,欢迎有问题随时交流~
- 添加到短语集
- 没有此单词集:立陶宛语 -> 中文(简体)...
- 创建新的单词集...
- 没有此单词集:立陶宛语 -> 中文(简体)...
- 拷贝
- 添加到短语集
- 没有此单词集:英语 -> 中文(简体)...
- 创建新的单词集...
- 没有此单词集:英语 -> 中文(简体)...
- 拷贝
- 添加到短语集
- 没有此单词集:立陶宛语 -> 中文(简体)...
- 创建新的单词集...
- 没有此单词集:立陶宛语 -> 中文(简体)...
- 拷贝
uiautomator2 使用注意的地方的更多相关文章
- UiAutomator2.0升级填坑记
UiAutomator2.0升级填坑记 SkySeraph May. 28th 2017 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph个人站点:www.sk ...
- uiautomator2.0的配置的两种方法
方法一(使用在线下载的方式导入依赖): 1.首先创建项目工程,创建的项目的android_api版本要与测试的android_api版本一致(24就是24 ,不能26或者17去兼容) 2.然后就是将本 ...
- Android自动化测试-UiAutomator2环境搭建
Android自动化测试-UiAutomator环境搭建(QQ交流群:490451176) 一.环境准备 1. 安装android sdk,并配置环境变量 2. 安装android studio,国内 ...
- 【Mac安装,ATX基于uiautomator2】之安装步骤
Mac系统下安装uiaotumator2: 参考网址:<uiautomator2>以及参考github官方文档 注意:下面有坑,如果你没有下面的问题请直接跳转到 1.安装uiaotumat ...
- Android自动化测试探索(四)uiautomator2简介和使用
uiautomator2简介 项目Git地址: https://github.com/openatx/uiautomator2 安装 #1. 安装 uiautomator2 使用pip进行安装, 注意 ...
- 解决VS2008在win7找不到输入序列号的地方
1.VS2008在Windows7 打开维护界面看不到可以输序列号的地方. 因为微软把他隐藏了. 2.我们可以借用工具把他显示出来 下载地址:http://www.zlsoft.com/techbbs ...
- 使用Google Closure Compiler高级压缩Javascript代码注意的几个地方
介绍 GCC(Google Closure Compiler)是由谷歌发布的Js代码压缩编译工具.它可以做到分析Js的代码,移除不需要的代码(dead code),并且去重写它,最后再进行压缩. 三种 ...
- eclipse项目上面有个红叉,但是没有任何地方有错误
eclipse项目上面有个红叉,但是没有任何地方有错误,clear,refresh,重启都试过了,依然没用, 后来我换了一个workspace,编译的时候提示: Description Resourc ...
- javascript中的一些核心知识点以及需要注意的地方
前言 近期杂事甚多,这些事情的积累对知识体系的提升有好处,但是却不能整理出来,也整理不出来 比如说我最近研究的Hybrid在线联调方案便过于依赖于业务,就算分享也不会有人读懂,若是抽一点来分享又意义不 ...
随机推荐
- qbzt day5 下午
农场主John新买了一块长方形的新牧场,这块牧场被划分成M行N列(1 ≤ M ≤ 12; 1 ≤ N ≤ 12),每一格都是一块正方形的土地.John打算在牧场上的某几格里种上美味的草,供他的奶牛们享 ...
- 阶段1 语言基础+高级_1-3-Java语言高级_1-常用API_1_第6节 static静态_15_静态代码块
static的特殊用法, 静态代码块 加上构造方法,做测试 又创建一个对象 静态代码块 只执行一次 后续在学习jdbc的时候,静态代码块很有用途.
- Swagger入门教程(转)
[译]5.41 Swagger tutorial 单击此处查看原文 更多概念参见:Implementing Swagger with your API docs 关于 Swagger Swagger能 ...
- mooc-IDEA 高效定位代码--004
十.IntelliJ IDEA -高效定位代码-精准搜索 1.快速定位类:Navigate->Class... [Ctrl+N] 2.文件:Navigate->File.. [Ct ...
- Spring Boot系列(四) Spring Cloud 之 Config Client
Config 是通过 PropertySource 提供. 这节的内容主要是探讨配置, 特别是 PropertySource 的加载机制. Spring Cloud 技术体系 分布式配置 服务注册/发 ...
- airtestUI简单操作
touch 判断坐标位置 如touch((500, 600), duration=1) swipe 滑动位置 wait 等待画面出现 exists 判断画面中是否存在某个图片 test 调用输入法,输 ...
- 15 (H5*) JS第5天 对象
目录 1:创建对象 2:工厂模式创建对象 3:自定义构造函数创建对象 4:自定义构造函数做了那些事情 5:字面量方式创建对象:一次性对象 6:对象总结 7:json数据类型 8:简单数据类型和复杂数据 ...
- 自动生成脚本头部格式并调用VIM工具
在我们写脚本的时候,开始总要按照脚本书写规范来定义脚本头部格式,久而久之是不是会觉得麻烦效率低下呢,这里就介绍一个好的思路给大家. 1 首先我们在VIM里先复制个头部格式的内容,这里就抄袭一个二师兄的 ...
- hive Hbase sql
Hive和HBase的区别 hive是为了简化编写MapReduce程序而生的,使用MapReduce做过数据分析的人都知道,很多分析程序除业务逻辑不同外,程序流程基本一样.在这种情况下,就需要h ...
- CodeForces 877E DFS序+线段树
CodeForces 877E DFS序+线段树 题意 就是树上有n个点,然后每个点都有一盏灯,给出初始的状态,1表示亮,0表示不亮,然后有两种操作,第一种是get x,表示你需要输出x的子树和x本身 ...