uiautomator2 常用方法
常用功能方法的整理和总结
导入
import uiautomator2 as u2
连接ADB设备:
可以通过USB或Wifi与ADB设备进行连接,进而调用Uiautomator2框架,支持同时连接单个或多个ADB设备。
USB连接:一个设备时,可简写
d = u2.connect()
USB连接:也可根据设备号进行连接
d = u2.connect("设备号")
无线连接:通过设备的IP连接(需要在同一局域网且设备上的atx-agent已经安装并启动)
d = u2.connect("10.1.2.3")
APP操作:
获取前台应用信息:d.app_current()
获取设备基本信息:d.info()
获取设备详细信息:d.device_info()
检查并维持设备端守护进程处于运行状态:d.healthcheck()
停用守护程序:d.service( 'uiautomator" ).stop()
安装应用(只能通过URL下载安装):d .app_install( 'http: / / some-domain.com/some .apk ' ) # 引号内为示例URL地址
启动应用:d . app_start( " com.demoapp.demo ') # 引号内为 App包名
停止应用:
# 强制停止应用:d .app_stop( ' com.example.hello_world " )
# 清空App数据:d .app_clear( ' com. example.hello_world )
停止所有正在运行的应用程序:d.app_stop_all()
停止所有正在运行的应用程序,除了com.examples.demo d .app_stop_all(excludes=[ ' com.examples .demo' ])
push文件到设备:d .push( ""foo.txt", " / sdcard /")
push文件到设备和重命名:d.push("foo.txt", " /sdcard/bar.txt")
从设备中拉取文件:d .pull(" / sdcard/tmp.txt" ,"tmp.txt") # 引号内为示例文件名
打开屏幕:d . screen_on()
关团屏幕:d . screen_off()
解锁屏幕:d.unlock() # 相当于打开屏幕并按home键
获取当前屏幕状态:d .info.get( 'screenon') # 返回布尔值
硬键盘和软键盘操作:
d . press( "home") # 点击home键
d . press("back") # 点击back 键
d .press("up") # 点击上键
d .press(""down") # 点击下键
d .press(""center" ) # 点击选中
d .press("menu") # 点击menu按键
d.press( ""search") # 点击搜索按键
d .press( ""enter") # 点击enter键
d.press(""delete") # 点击删除按键
d. press( ""recent"') # 点击近期活动按键
d. press( ""volume_up") # 音量+
d.press( ""volume_down") # 音量-
d . press(""volume_mute") # 静音
d .press(""camera") # 相机
d .press(""power") # 电源键
单击屏幕:d .click(x,y)
双击屏幕:
d .double_click(x,y) # 连续单击两次
d .double_click(x,y,0.1) # 默认两次单击之间间隔时间0.1秒
长按:d . long_click(x,y,0.5) # 长按0.5秒(默认)
滑动:d.swipe( sx,sy,ex,ey,0.5) # 滑动0.5秒(默认)
拖动:d .drag(sx, sy,ex,ey,0.5) # 拖动0.5秒(默认)
截图:d. screenshot( "home .jpg")
下拉打开通知栏:d.open_notification()
单击U对象
元素/text/id/xpath/等
根据元素单击:d(text="xxxx" ).click()
根据坐标单击:d.click(182,1264)
等待元素出现(最多等待10秒),出现后单击:d(text=""xxxx" ).click(timeout=10)
双击特定的UI对象:d(text=“xxx").double_click()
长按特定UI对象的中心:d(text="xxxx" ).long_click()
更多U2的常用命令和元素定位方式等操作可网上自行学习,这里推荐一个帖子:UIAutomator2 常用命令整理 - 简书 (jianshu.com)
ui2 的下载安装与环境配置等,见之前写的一篇帖子:https://www.cnblogs.com/gancuimian/p/16725664.html
python + UIAutomator2 公共方法封装,见之前写的一篇帖子:https://www.cnblogs.com/gancuimian/p/16948536.html
uiautomator2 常用方法的更多相关文章
- 基于UiAutomator2+PageObject模式开展APP自动化测试实战
前言 在上一篇<APP自动化测试框架-UiAutomator2基础>中,重点介绍了uiautomator2的项目组成.运行原理.环境搭建及元素定位等基础入门知识,本篇将介绍如何基于uiau ...
- 前端开发:Javascript中的数组,常用方法解析
前端开发:Javascript中的数组,常用方法解析 前言 Array是Javascript构成的一个重要的部分,它可以用来存储字符串.对象.函数.Number,它是非常强大的.因此深入了解Array ...
- Jquery元素选取、常用方法
一:常用的选择器:(李昌辉) 基本选择器 $("#myDiv") //匹配唯一的具有此id值的元素 $("div") //匹配指定名称的所有元素 $(" ...
- python浅谈正则的常用方法
python浅谈正则的常用方法覆盖范围70%以上 上一次很多朋友写文字屏蔽说到要用正则表达,其实不是我不想用(我正则用得不是很多,看过我之前爬虫的都知道,我直接用BeautifulSoup的网页标签去 ...
- C# Webbrowser 常用方法及多线程调用
设置控件的值 /// <summary> /// 根据ID,NAME双重判断并设置值 /// </summary> /// <param name="tagNa ...
- list,tuple,dict,set常用方法
Python中list,tuple,dict,set常用方法 collections模块提供的其它有用扩展类型 from collections import Counter from collect ...
- 记录yii2-imagine几个常用方法
记录yii2-imagine几个常用方法: //压缩 Image::thumbnail('@webroot/img/test-image.jpg', 120, 120)->save(Yii::g ...
- DOM常用方法总结
DOM(Document Object Model:文档对象模型)为javascript中的一部分,它为访问和修改html文档或xml文档提供了一些编程接口,DOM以对象的形式来描述文档中的内容,以树 ...
- JSP内置对象及常用方法
jsp九大内置对象及四个作用域: 何为作用域 先让我们看看效果: 大概流程是这样的,我们访问index.jsp的时候,分别对pageContext, request, session,applicat ...
- java中集合类中Collection接口中的Map接口的常用方法熟悉
1:Map接口提供了将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值.Map接口中同样提供了集合的常用方法. 2:由于Map集合中的元素是通过key,value,进行存储的,要 ...
随机推荐
- 记录multipartFile表单类型转化为file
导入依赖 <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</a ...
- Netty实战学习笔记
第一部分 Netty的概念及体系结构 1.Netty异步和事件驱动 2.你的第一款Netty应用程序 3.Netty的组件和设计 4.传输 5.ByteBuf 6.ChannelHandler和Cha ...
- Android版本历史
版本 Code Name 代号 API 日期 NDK 1.0 Astro 铁臂阿童木 1 1.1 Bender, Petit Four 发条机器人 2 1.5 Cupcake 纸杯 ...
- Docker CLI docker buildx build 常用命令
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化.Docker是内核 ...
- 【博客】如何在Github上创建博客
[博客]如何在Github上创建博客 1. 安装nodejs windows安装npm教程--nodejs 2. 安装hexo npm install -g hexo-cli 3. 搭建博客 $ he ...
- Delphi as 和 is 的使用
as就是把某个类型对象转换为某个指定类型,这样方便使用指定类型中的一些成员. is就是判断某个对象是不是某个类型,可以筛选出我们需要的对象. 下面是一个as is 的实例代码,该代码同时也实现了两种方 ...
- php textarea根据回车转换成数组
$val是textarea文本框的内容 假如是:张三/32岁/男 李四/28岁/男 $arr=explode("\n",$val); $arr2 = array(); foreac ...
- win10系统解决启动虚拟机蓝屏问题
1.查看电脑是否开启了虚拟化,如果没起开开启 CTR+SHIFT+Esc 2.是否开启了虚拟化选项 win+r 输入 OptionalFeatures
- VMware VirtualCenter Servere服务不能启动
故障现象现象:VMware VirtualCenter Servere服务不能启动 解决办法:进入%programdata%\VMware\VMwareVirtualCenter\Logs目录下面. ...
- django解决网站CORS前后端跨域问题
1.安装cors-headers⼯具 pip install django-cors-headers 2.安装cors-headers应⽤ # 注册应用 INSTALLED_APPS = [ 'd ...