uiautomator2环境搭建+元素定位(安卓)
一.环境搭建
1.安装uiautomator2
在终端使用pip安装即可
pip install uiautomator2
2.安装adb
可参考:https://www.cnblogs.com/lihongtaoya/p/14970306.html
3.安装weditor
终端执行如下命令
pip install weditor==0.6.4
4.ATX
确保以上环境都搭建好之后,运行下面代码,安卓设备会自动下载安装ATX应用
import uiautomator2 as u2
# 连接启动
d = u2.connect()
print(d.info)
二.元素定位
1.weditor使用
weditor是基于浏览器的一款ui查看器,可以在测试中帮助我们来定位所需要的元素。运行的话可以终端直接输入weditor回车即可

停止ui查看ctrl+c即可停止
2.元素定位
1.定位方法
d(resourceId="android:id/title", text="移动网络") # 两个条件定位
# 或
d(resourceId="android:id/title") # 一个条件定位
2.可定位的属性
我们在选中一个元素时,Selected Element下就会显示可定位的属性,场景的属性如下。
| className | 类名 |
| index | 下标 |
| text | 文本 |
| textContains | text中包含有指定文本的元素 |
| textMatches | text符合指定正则的元素 |
| textStartsWith | text中指定文本开头的元素 |
| resourceId | 指定内容的元素 |
| package | 包名 |
| description | 描述 |
| checkable | 可检查 |
| clickable | 可点击 |
| enabled | 可激活 |
| focusable | 是否聚焦 |
| focused | 获取聚焦的元素 |
| scrollable | 是否可滚动 |
| longClickable | 可长按 |
| selected | 当前选中 |
3.xpath定位
.xpath("//*[@text='设置' and @content-desc='设置,1条通知']").click()
4.相对定位
先定位到一个元素,在来定位元素周边的元素(即:左右上下)

已”显示与亮度“为坐标,来定位”通知与状态栏“和”桌面锁屏与壁纸“
d(resourceId="android:id/title", text="显示与亮度").up(text="通知与状态栏").click() # 上
d(resourceId="android:id/title", text="显示与亮度").down(text="桌面、锁屏与壁纸").click() # 下
# d().left() # 左
# d().right() # 右
uiautomator2环境搭建+元素定位(安卓)的更多相关文章
- web自动化01-自动化解决的问题-环境搭建-元素定位
自动化测试 概念:由程序代码代替人工完成验证系统功能的过程 解决的问题: 回归测试 压力测试 兼容性测试 提高测试效率,提升产品质量 自动化测试分类 web自动化测试 移动自动化测试 接口自动化测试 ...
- Android自动化测试-UiAutomator2环境搭建
Android自动化测试-UiAutomator环境搭建(QQ交流群:490451176) 一.环境准备 1. 安装android sdk,并配置环境变量 2. 安装android studio,国内 ...
- python3+Appium自动化12-H5元素定位环境搭建
前言 在混合开发的App中,经常会有内嵌的H5页面.那么这些H5页面元素该如何进行定位操作呢? 针对这种场景直接使用前面所讲的方法来进行定位是行不通的,因为前面的都是基于Andriod原生控件进行元素 ...
- monkeyrunner之安卓开发环境搭建(一)
在学习monkeyrunner之前,让我们先搭建好eclipse安卓开发环境. 对于程序开发人员而言,eclipse并不陌生,它提供了一个非常广阔的平台来开发程序.同样也可以用它来开发android程 ...
- ubuntu12.04下安卓编译环境搭建总结
前言: 因为工作需要,经常要编译安卓下的动态库,公司有已经搭建好环境的服务器,但是第一自己想自己搭建一下了解一个整个过程,另外,公司的服务器也经常出现问 题,导致编译不了,所以就想自己搭建环 ...
- android安卓最新快捷环境搭建(转)
现在很多视频和文章上的安卓环境搭建还是比较老的,挺麻烦.现在写快速方便的搭建: 一.下载JDK: 网址:http://www.oracle.com/technetwork/java/javase/do ...
- 零基础Android学习笔记-01 安卓开发环境搭建
安卓开发环境搭建. 1.首先准备JDK,从官网找到JDK下载地址,原来做.NET不熟悉JAVA,干脆用最新的,下载了JDK 1.7的版本.原来装过1.5还要配置环境变量什么的.但1.7好像很给力,装好 ...
- Ubuntu 12.04搭建MTK 6577 安卓开发环境
Ubuntu 12.04搭建 MTK 6577安卓开发环境 1. 下载并安装Vmware虚拟机: 2. 下载并在虚拟机上安装Ubuntu 12.04 iso 安装包:下载地址: ...
- linux下安卓编译apk环境搭建
ubuntu下linux安卓编译环境搭建. 配置好编译环境 (前提是已经安装了jdk,可以用java -verison 命令查看) 一.设置环境变量 用vi ~/.bashrc 打开编译环境 JA ...
- Java ee 与安卓环境搭建个人心得
最近加了个IT俱乐部,第一次作业就是搞定eclipse,完成Java ee 与安卓环境搭建.为此我上网看了好多教程,之前我安装了Java,可以说省了不少事,而且还了解一点安装方法.流程网上都有,但是不 ...
随机推荐
- 学习Source Generators之HelloWorld
介绍 源生成器是 C# 开发人员可以编写的一种新组件,允许执行两个主要操作: 检索表示正在编译的所有用户代码的编译对象. 可以检查此对象,并且可以编写适用于正在编译的代码的语法和语义模型的代码,就像现 ...
- Dynamic ReLU:微软推出提点神器,可能是最好的ReLU改进 | ECCV 2020
论文提出了动态ReLU,能够根据输入动态地调整对应的分段激活函数,与ReLU及其变种对比,仅需额外的少量计算即可带来大幅的性能提升,能无缝嵌入到当前的主流模型中 来源:晓飞的算法工程笔记 公众号 ...
- Java面试题【2】
11)abstract class 和 interface 有什么区别? 含有 abstract 修饰符的 class 即为抽象类,abstract 类不能创建的实例对象.含有 abstract 方法 ...
- Linux下Bochs,NASM安装和使用
安装环境 以Ubuntu为例,先更新一下: sudo apt-get update sudo apt-get upgrade 然后安装Bochs环境: sudo apt-get install bui ...
- USACO 4.1
目录 洛谷 2737 麦香牛块 分析 代码 洛谷 2738 篱笆回路 分析 代码 麦香牛块洛谷传送门,麦香牛块USACO传送门,篱笆回路洛谷传送门,篱笆回路USACO传送门 洛谷 2737 麦香牛块 ...
- Mac 使用 Nginx 在本地部署静态网站
安装 安装 Brew /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/i ...
- 区块链从入门到放弃系列教程-涵盖密码学,超级账本,以太坊,Libra,比特币等持续更新
目录 简介 什么是区块链 区块链不是什么 区块链的基础:密码学 区块链的基础:分布式系统和共识机制 超级账本Hyperledger 以太坊 Libra 比特币 总结 简介 区块链是一种防篡改的共享数字 ...
- 体验Semantic Kernel图片内容识别
前言 前几日在浏览devblogs.microsoft.com的时候,看到了一篇名为Image to Text with Semantic Kernel and HuggingFace的文章.这篇文章 ...
- C 语言教程:数据类型和格式说明符
C 语言中的数据类型 C 中的变量必须是指定的数据类型,并且您必须在 printf() 函数中使用格式说明符来显示它: // 创建变量 int myNum = 5; // 整数(没有小数点) floa ...
- 结构化数据上的 TopN 运算
1. 最大值 / 最小值 最大值 / 最小值可以理解为 TopN 查询中,N 等于 1 时的情况,因为很常用所以单独拿出来讲一下.取最大值 / 最小值是很常见的需求,例如一班数学最高分是多少, ...