UIAutomator2的API文档(二)
1.设备屏幕事件
熄灭屏幕d.screen_off()
唤醒屏幕d.screen_on()
屏蔽状态d.info.get('screenOn')#返回True or False
解锁屏幕d.unlock()#安卓7.0试了可以,安卓9.0就不行了,实际行为是 1.启动activity: com.github.uiautomator,2.按下home键
2.设备按键事件(所有的keyevent请点我)或官方地址
用法:d.press(keycode)
当前支持以下事件键值:,
home(主屏),back(返回上一级)
left,right,up,down,center(打开一个文本编辑框,可看到移动光标)
search(搜索框),enter(回车),delete ( or del 删除选中内容)
recent (recent apps),menu(菜单键) 这俩效果貌似一样的
volume_up(音量+),volume_down(音量-),volume_mute(静音)
camera(相机--没打开),power(电源键)
3.设备手势交互
#x,y表示坐标,或填入小数(0.5,0.5)百分比表示屏幕的中心点,适用于:click,swipe,drag,long_click
单击d.click(x,y)
双击d.double_click(x,y,[duration])#两次点击之间的间隔默认0.1秒
长按d.long_click(x,y,[delay])#delay默认0.5秒
滑动d.swipe(sx,sy,ex,ey,[delay])#delay默认0.5秒
拖拽d.drag(sx,sy,ex,ey,[delay])#delay默认0.5秒
多点滑动:hw.swipe_points([(209,943),(541,973),(551,1265),(857,1265)],0.2)
按下并拖动(Beta):
d.touch.down(x,y)
time.sleep(0.1)
d.touch.move(x,y)
d.touch.up()
4.屏幕方向设定
#打开拨号界面或短信界面:在android7.0上试了n,l,r均有效,android9.0上相册有受影响
n(natural),l(or left),r(right),u(upsidedown 这个无效)
direct = d.orientation#默认方向,输出natural
d.set_orientation('l')
#锁定/解锁屏幕旋转
d.freeze_rotation()
d.freeze_rotation(false)
5.屏幕截图
#要获得PIL格式的图像,需要安装pillow库,支持png、jpg格式:d.screenshot("c:/name.jpg")
#要获得opencv格式的图像,需要安装numpy和cv2库,用法如下:
img=xm.screenshot(format='opencv')
cv2.imwrite('c:/test.jpg',img)
#获得原始的jpeg数据
imgbin=d.screenshot(format='raw')
open("test.jpg","wb").write(imgbin)
6.转储UI hierarchy
xml=d.dump_hierarchy()
7.打开通知中心/快捷设置
d.open_notification()
d.open_quick_settings()
UIAutomator2的API文档(二)的更多相关文章
- 基于Zabbix API文档二次开发与java接口封装
(继续贴一篇之前工作期间写的经验案例) 一. 案例背景 我负责开发过一个平台的监控报警模块,基于zabbix实现,需要对zabbix进行二次开发. Zabbix官方提供了Rest ...
- UIAutomator2的API文档(三)
1.UI对象识别器Selector 用法d(text='Clock', className='android.widget.TextView') 支持以下参数,详细信息可参考UiSelector Ja ...
- UIAutomator2的API文档(一)
检查并维持设备端守护进程处于运行状态,应该是重启了atx守护进程:d.healthcheck() 1.隐式等待 import uiautomator2 as u2serialno = '7f3dec6 ...
- 【HighCharts系列教程】二、Highcharts结构及API文档
一.你必须知道的 1.首先,HighCharts是基于Jquery框架开发的,所以需要在页面引入Jquery,具体代码是: <script type="text/javascript& ...
- Spring MVC中使用Swagger生成API文档和完整项目示例Demo,swagger-server-api(二十)
一:Swagger介绍 Swagger是当前最好用的Restful API文档生成的开源项目,通过swagger-spring项目 实现了与SpingMVC框架的无缝集成功能,方便生成spring r ...
- .Net Core3.0 WebApi 项目框架搭建 二:API 文档神器 Swagger
.Net Core3.0 WebApi 项目框架搭建:目录 为什么使用Swagger 随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染,变成了:前端渲染.后端分离的形态,而且前端技术和后端技 ...
- SpringBoot入门教程(二十)Swagger2-自动生成RESTful规范API文档
Swagger2 方式,一定会让你有不一样的开发体验:功能丰富 :支持多种注解,自动生成接口文档界面,支持在界面测试API接口功能:及时更新 :开发过程中花一点写注释的时间,就可以及时的更新API文档 ...
- 使用Swagger2构建强大的RESTful API文档(2)(二十三)
添加文档内容 在完成了上述配置后,其实已经可以生产文档内容,但是这样的文档主要针对请求本身,而描述主要来源于函数等命名产生,对用户并不友好,我们通常需要自己增加一些说明来丰富文档内容.如下所示,我们通 ...
- 使用Swagger2构建强大的RESTful API文档(1)(二十二)
由于Spring Boot能够快速开发.便捷部署等特性,相信有很大一部分Spring Boot的用户会用来构建RESTful API.而我们构建RESTful API的目的通常都是由于多终端的原因,这 ...
随机推荐
- Git经典学习指南
https://www.liaoxuefeng.com/ 转载于:https://blog.51cto.com/4402071/1977945
- fullpage.js禁止滚动
http://www.wenjiangs.com/doc/fullpage-method 转载于:https://www.cnblogs.com/hzz-/p/8268771.html
- 8种MySQL分页方法总结
这篇文章主要介绍了8种MySQL分页方法总结,小编现在才知道,MySQL分页竟然有8种实现方法,本文就一一讲解了这些方法,需要的朋友可以参考下 MySQL的分页似乎一直是个问题,有什么优化方法吗?网上 ...
- 10.秋招复习简单整理之CSMA/CD协议
我们知道,总线上只要有一台计算机在发送数据,总线的传输资源就被占用.因此,在同一时间只能允许一台计算机发送数据,否则各计算机之间就会相互干扰,使得所发送的数据被破坏.因此,如何协调总线上各计算机的工作 ...
- Spring Data Jpa 入门学习
本文主要讲解 springData Jpa 入门相关知识, 了解JPA规范与Jpa的实现,搭建springboot+dpringdata jpa环境实现基础增删改操作,适合新手学习,老鸟绕道~ 1. ...
- SaltStack漏洞导致的挖矿排查思路
描述 SaltStack是一套C/S架构的运维工具,服务端口默认为4505/4506,两个端口如果对外网开放危害非常大,黑客利用SaltStack的远程命令执行漏洞CVE-2020-11651可以直接 ...
- C. Two Arrays(思维DP或组合数学)
\(首先很容易想到一个O(n^4m)的DP\) \(设dp\ [i]\ [j]\ [q]\ 为长度i,a数组以j结尾,b数组以q结尾(q>=j)\) for(int i=1;i<=n;i+ ...
- lh的简单图论
lh的简单图论 http://10.64.70.166/problem/1112 lh的简单图论 Description 众所周知,集训队的lh同学txdy,有一天他在写着代码,突然哼起了rapr ...
- Linux时间的相关的操作
时间(修改时区,修改时间,同步网络时间) 查看当前系统时间 date 修改时区 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 修改当前系统时间 ...
- 时间日期相关类:Date类,DateFormat类&SimpleDateFormat类,Calendar类
日期相关类 1.Date类:日期时间类 A.构造方法 Date(): 根据当前系统时间创建日期对象 Date(Long time):根据传入的毫秒值时间创建日期对象 B.成员方法 Long get ...