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在线联调方案便过于依赖于业务,就算分享也不会有人读懂,若是抽一点来分享又意义不 ...
随机推荐
- React-Native 之 GD (四)使用通知方式隐藏或显示TabBar
1.GDHalfHourHot.js 发送通知 /** * 近半小时热门 */ import React, { Component } from 'react'; import { StyleShe ...
- Linux驱动开发7——I/O内存分配
CPU通过物理地址访问DDR和外设,DDR内存称为物理内存地址空间,外设寄存器组称为I/O内存地址空间. ARM采用统一编址,而X86采用独立编制.上一章介绍了DDR内存分配,这一章介绍I/O内存分配 ...
- C\C++语言中的宏多重展开和递归展开
宏定义中的#,## 1. 宏中的参数前面使用一个#,预处理器会把这个参数转换为一个字符数组 2.记号粘贴操作符(token paste operator): ## “## ...
- 【C++进阶:STL常见性质】
STL中的常用容器包括:顺序性容器(vector.deque.list).关联容器(map.set).容器适配器(queue.stac) 转载自:https://blog.csdn.net/u0134 ...
- AtomicInteger 源码分析
AtomicInteger AtomicInteger 能解决什么问题?什么时候使用 AtomicInteger? 支持原子更新的 int 值. 如何使用 AtomicInteger? 1)需要被多线 ...
- 树的基本概念以及java实现二叉树
树具有的特点有: (1)每个结点有零个或多个子结点 (2)没有父节点的结点称为根节点 (3)每一个非根结点有且只有一个父节点 (4)除了根结点外,每个子结点可以分为多个不相交的子树. 树的基本术语 ...
- 阶段1 语言基础+高级_1-3-Java语言高级_04-集合_01 Collection集合_3_Collection集合常用功能
Collection在java.util包下面 只学里面几个比较重要的,List和Set 一共7个共性方法 接口指向实现类,多态的形式. 输出这个结合打印出一个空的数组.说明它重写了toString的 ...
- EditPlus配色方案
找到配置文件:editplus_u.ini配置文件 [Options] Placement=2C00000002000000030000000083FFFF0083FFFFFFFFFFFFFFFFFF ...
- 3 Vue.js基础
Vue中的过滤器.钩子函数.指令.字符串填充.以及部分方法使用的案例(操作表单) <!DOCTYPE html> <html lang="en"> < ...
- python函数-基础知识
一.含义函数是程序内的“小程序” 二.示例 #!/usr/bin/env python #coding:utf-8 def hello(): print('Hello world!') print(' ...