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,可以说省了不少事,而且还了解一点安装方法.流程网上都有,但是不 ...
随机推荐
- MySQL备份还原工具
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- 在命令行中使用 cl.exe编译 C/C++ 程序并执行
cl.exe是Microsoft C/C++编译器. 我的VC6.0安装目录为:D:\Program Files (x86)\Microsoft Visual Studio\Common\MSDev9 ...
- KingbaseES数据库分区表添加主键与索引的建议
一.初始化测试环境 # 数据库版本信息 KingbaseES V008R006C007B0012 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.1.2 ...
- Final Countdown 题解
Problem Link 简要题意 把一个数不断减一直到变成零,每个数位变化一次需要一秒. 比如 \(300\) 变成 \(299\) 需要 \(3\) 秒. 求把一个数变成零要多少秒. 思路 对于每 ...
- SQLSERVER 的表分区(水平) 操作记录1
--创建表格 (注意) 是唯一(NONCLUSTERED)表示 非聚集索引 CREATE TABLE [dbo].[UserInfo]( [Id] [int] IDENTITY(1,1) NOT NU ...
- 21 JSONP
JSONP 为了解决浏览器跨域问题. jquery提供了jsonp请求. 在网页端如果见到了服务器返回的数据是: xxxxxxxxxxdjsfkldasjfkldasjklfjadsklfjasd ...
- 19 JavaScript的hook
19 JavaScript的hook 什么叫hook? Hook技术又叫钩子函数,在系统没有调用该函数之前,钩子程序就捕获该消息,钩子函数先得到该函数的控制权,这时钩子函数既可以改变该函数的执行行为, ...
- Tomcat内存马回显
回顾JSP马 详情见:https://www.cnblogs.com/F12-blog/p/18111253 之前说的都是利用 jsp 注入内存马,但 Web 服务器中的 jsp 编译器还是会编译生成 ...
- 等个有“源”人|OpenHarmony 成长计划学生挑战赛报名启动
OpenAtom OpenHarmony(以下简称"OpenHarmony)开源开发者成长计划-解决方案学生挑战赛(以下简称"本大赛"或"成长计划学生挑战赛&q ...
- C# PropertyChanged 事件-数据绑定
在.NET平台上,数据绑定是一项令人十分愉快的技术.利用数据绑定能减少代码,简化控制逻辑. 通常,可以将某个对象的一个属性绑定到一个可视化的控件上,当属性值改变时,控件上的显示数据也随之发生变化.要实 ...