Android UiAutomator UiDevice API
UiDevice为单例模式
1.获取设备
static UiDevice |
getInstance()
This method is deprecated. Should use |
static UiDevice |
getInstance(Instrumentation instrumentation)
Retrieves a singleton instance of UiDevice |
2.按键与keycode
boolean |
pressBack()
Simulates a short press on the BACK button. |
boolean |
pressDPadCenter()
Simulates a short press on the CENTER button. |
boolean |
pressDPadDown()
Simulates a short press on the DOWN button. |
boolean |
pressDPadLeft()
Simulates a short press on the LEFT button. |
boolean |
pressDPadRight()
Simulates a short press on the RIGHT button. |
boolean |
pressDPadUp()
Simulates a short press on the UP button. |
boolean |
pressDelete()
Simulates a short press on the DELETE key. |
boolean |
pressEnter()
Simulates a short press on the ENTER key. |
boolean |
pressHome()
Simulates a short press on the HOME button. |
boolean |
pressKeyCode(int keyCode)
Simulates a short press using a key code. |
boolean |
pressKeyCode(int keyCode, int metaState)
Simulates a short press using a key code. |
boolean |
pressMenu()
Simulates a short press on the MENU button. |
boolean |
pressRecentApps()
Simulates a short press on the Recent Apps button. |
boolean |
pressSearch()
Simulates a short press on the SEARCH button. |
注意:
例子:
UiDevice.getInstance(Instrumentation instrumentation).pressKeyCode(keyEvent.KEYCODE_A);//输入a
UiDevice.getInstance(Instrumentation instrumentation).pressKeyCode(keyEvent.KEYCODE_A,1);//输入A
Android KEYCODE键值对应大全: http://blog.csdn.net/u012839224/article/details/37764193
3.获取坐标与坐标点击
boolean |
click(int x, int y)
Perform a click at arbitrary coordinates specified by the user |
|
getDisplayHeight()
Gets the height of the display, in pixels. |
int |
getDisplayWidth()
Gets the width of the display, in pixels. |
另可通过UiObject来获取该对象的坐标
Rect z = UiObject.getBounds();
int x0 = z.left;
int y0 = z.top;
int x1 = z.right;
int y1 = z.bottom;
4.拖拽与滑动
boolean |
drag(int startX, int startY, int endX, int endY, int steps)
Performs a swipe from one coordinate to another coordinate. |
boolean |
swipe(int startX, int startY, int endX, int endY, int steps)
Performs a swipe from one coordinate to another using the number of steps to determine smoothness and speed. |
boolean |
swipe(Point[] segments, int segmentSteps)
Performs a swipe between points in the Point array. |
Steps 越大,拖拽/滑动速度越慢
steps |
int : is the number of move steps sent to the system |
Each step execution is throttled to 5ms per step. So for a 100 steps, the swipe will take about 1/2 second to complete.
5.旋转屏幕
void |
setOrientationLeft()
Simulates orienting the device to the left and also freezes rotation by disabling the sensors. |
void |
setOrientationNatural()
Simulates orienting the device into its natural orientation and also freezes rotation by disabling the sensors. |
void |
setOrientationRight()
Simulates orienting the device to the right and also freezes rotation by disabling the sensors. |
void |
freezeRotation()
Disables the sensors and freezes the device rotation at its current rotation state. |
void |
unfreezeRotation()
Re-enables the sensors and un-freezes the device rotation allowing its contents to rotate with the device physical rotation. |
boolean |
isNaturalOrientation()
Check if the device is in its natural orientation. |
int |
getDisplayRotation()
Returns the current rotation of the display, as defined in |
int |
ROTATION_0
Rotation constant: 0 degree rotation (natural orientation) |
int |
ROTATION_180
Rotation constant: 180 degree rotation. |
int |
ROTATION_270
Rotation constant: 270 degree rotation. |
int |
ROTATION_90
Rotation constant: 90 degree rotation. |
6.灭屏与唤醒屏幕
void |
wakeUp()
This method simulates pressing the power button if the screen is OFF else it does nothing if the screen is already ON. |
void |
sleep()
This method simply presses the power button if the screen is ON else it does nothing if the screen is already OFF. |
boolean |
isScreenOn()
Checks the power manager if the screen is ON. |
模拟点击电源键,手机灭屏与亮屏
7.截图
boolean |
takeScreenshot(File storePath, float scale, int quality)
Take a screenshot of current window and store it as PNG The screenshot is adjusted per screen rotation |
boolean |
takeScreenshot(File storePath)
Take a screenshot of current window and store it as PNG Default scale of 1.0f (original size) and 90% quality is used The screenshot is adjusted per screen rotation |
storePath: 存储路径,文件后缀必须为.png
scale: 1.0f 为原图大小
quality: 质量压缩,取值范围为0-100
8.等待空闲
void |
waitForIdle(long timeout)
Waits for the current application to idle. |
void |
waitForIdle()
Waits for the current application to idle. //默认10s |
boolean |
waitForWindowUpdate(String packageName, long timeout)
Waits for a window content update event to occur. |
9.包名
获取当前界面包名
String |
getCurrentPackageName()
Retrieves the name of the last package to report accessibility events. |
获取当前页面的布局文件,保存到/data/local/tmp/下
void |
dumpWindowHierarchy(File dest)
Dump the current window hierarchy to a |
void |
dumpWindowHierarchy(OutputStream out)
Dump the current window hierarchy to an |
打开通知栏,打开快速设置
boolean |
openNotification()
Opens the notification shade. |
boolean |
openQuickSettings()
Opens the Quick Settings shade. |
Android UiAutomator UiDevice API的更多相关文章
- Android无线测试之—UiAutomator UiDevice API介绍八
获取包名.开启通知栏.快速设置.获取布局文件的方法 一.包名.通知栏.快速设置.布局文件等相关知识: 1)包名:标示应用的符号,每个应用的名字 2)通知栏:从主界面的顶端向下拉,就可以打开通知栏 3) ...
- Android无线测试之—UiAutomator UiDevice API介绍七
截图与等待空闲 一.截图和等待空闲相关知识: 1)图片缩放比例:例如图片从100像素缩小到50像素 2)图片质量:是指图片大小,质量越高图片越大,质量越低图片越小 3)File类:指的是一个文件或者一 ...
- Android无线测试之—UiAutomator UiDevice API介绍六
一.灭屏和唤醒屏幕相关知识: 1)灭屏:按电源键将屏幕熄灭 2)唤醒屏幕:在灭屏状态下按电源键唤醒屏幕 二.灭屏与唤屏相关的API: 返回值 方法名 描述 void wakeUp() 模拟按电源键,如 ...
- Android无线测试之—UiAutomator UiDevice API介绍五
屏幕旋转 一.屏幕旋转相关知识: 1)旋转方向:0度,90度(向左转),180度,270度(向右转) 2)重力感应器:重力感应器是旋转所依靠的 3)固定位置:指将屏幕方向固定在0度,90度或者180度 ...
- Android无线测试之—UiAutomator UiDevice API介绍四
拖拽与滑动 一.概念介绍: 1)拖拽:将组建从一个坐标移动到另一个坐标 2)移动:从一二坐标点移动到另一个坐标点 3)步长:从一点滑动到另一点使用的时间 二.拖拽与滑动的相关API: 返回值 方法名 ...
- Android无线测试之—UiAutomator UiDevice API介绍三
获取坐标与坐标点击 一.坐标相关的知识: 1)手机屏幕坐标:左上角开始到右下角结束 2)DP:设备独立像素,例如320像素显示到640像素上要拉伸一倍 3)Point:代表一个点(x,y),左上角的坐 ...
- Android无线测试之—UiAutomator UiDevice API介绍二
按键与KEYCODE使用 一.手机常见按键: 1)HOME 主屏幕键 2) MENU 菜单键 3) BACK 返回键 4) VOLUME_UP 音量加键 5) VOLUME_DOWN 音量减键 6) ...
- Android无线测试之—UiAutomator UiDevice API介绍一
UiDevice 类介绍 1.UiDevice 代表设备状态 2.UiDevice 为单例模式 获取UiDevice实例的方式: 1) UiDevice.getInstance() 2) getUiD ...
- 快学UiAutomator UiDevice API 详解
一.按键使用 返回值 方法名 说明 boolean pressBack() 模拟短按返回back键 boolean pressDPadCenter() 模拟按轨迹球中点按键 boolean press ...
随机推荐
- 2018.10.14 loj#6011. 「网络流 24 题」运输问题(费用流)
传送门 费用流入门题. 直接按照题意模拟. 把货物的数量当做容量建边. 然后跑一次最小费用流和最大费用流就行了. 代码: #include<bits/stdc++.h> #define N ...
- linux中nfs启动报rpcbind.socket failed to listen on sockets: Address family not supported by protocol
1.systemctl start rpcbind.service 报错: [root@autodeploy ~]# journalctl -xe -- Support: http://lists.f ...
- BZOJ 1008 [HNOI2008]越狱 (简单排列组合 + 快速幂)
1008: [HNOI2008]越狱 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 10503 Solved: 4558[Submit][Status ...
- swagger core 和 swagger ui 如何关联【窥探】
几个片段: package io.swagger.jaxrs.listing; import io.swagger.annotations.ApiOperation; import org.apach ...
- autolayout之后获取uiview的frame
这个只要一行代码就搞定了.详细请看: In order to get the right frame/bounds of your UIImageView after resizing, you ne ...
- html5.css3新特性
块: article section, Nav aside header footer 内容分组 future fig caption main 文本级别标签 time i b em str ...
- SSH:Struts + Spring + Hibernate 轻量级Java EE企业框架
Java EE(Java Platform,Enterprise Edition)是sun公司(2009年4月20日甲骨文将其收购)推出的企业级应用程序版本.这个版本以前称为 J2EE.能够帮助我们开 ...
- Opengl中的gluProject函数认识
1. 从官方说明如下 https://www.opengl.org/sdk/docs/man2/xhtml/gluProject.xml Name gluProject — map object co ...
- OpenGL中的帧缓存
OpenGL中的帧缓存 在OpenGL窗口中, 左下角的像素为(0, 0). 一般而言, 像素(x, y)占据的矩形区域左下角为(x, y), 右上角为(x+1, y+1). 1. 缓存及其用途 [1 ...
- DBCC--CHECKIDENT
检查活或重置自增键的标识值,可以使用NORESEED 来检查当前标识值和标识列在表中的最大值. 如果当前标识值与表中数据冲突或希望将标识值重置到一个较小的值时,可以只用RESEED 来设置 DBCC ...