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 ...
随机推荐
- 文件权限命令 linux
chmod 777 文件名/文件夹名 拥有所有权限 http://www_xpc8_com/ chmod 755 文件名/文件夹名 属主有所有权限,群组和其他有读.执行 ...
- UVa 11178 Morley's Theorem (几何问题)
题意:给定三角形的三个点,让你求它每个角的三等分线所交的顶点. 析:根据自己的以前的数学知识,应该很容易想到思想,比如D点,就是应该求直线BD和CD的交点, 以前还得自己算,现在计算机帮你算,更方便, ...
- jQuery链式调用
<script> var arr = function(){ return new arr.prototype.init(); } arr.prototype.init = functio ...
- JSTL 、 OGNL 与 EL
JSTL: JSP Standard Tag Library OGNL:Object-Graph Navigation Language EL:Expression Language action 中 ...
- 四)mybatis 二级缓存 ehcache 常见问题
1. java.io.NotSerializableException 94359 [EH_CACHE Async Replication Thread] ERROR n.s.e.d.jgroups. ...
- OSC和GitHub中项目公钥和管理公钥
对于开源托管网站GitHub大家应该不陌生吧,以前一直设置的是github上面的ssh公钥,一直没有发生什么问题,今天在遇到一个问题:git同时把代码push到两个远程仓库.所以就在github和os ...
- hdu 5020 求3点共线的组合数
http://acm.hdu.edu.cn/showproblem.php?pid=5020 求3点共线的组合数 极角排序然后组合数相加 #include <cstdio> #includ ...
- SQL 取两日期的记录
SELECT TOP 1000 [ID] ,[SourcePageID] ,[PlatformType] ,[CreateTime] FROM [home_sendor ...
- JWT+ASP.NET MVC 时间戳防止重放攻击
时间戳作用 客户端在向服务端接口进行请求,如果请求信息进行了加密处理,被第三方截取到请求包,可以使用该请求包进行重复请求操作.如果服务端不进行防重放攻击,就会服务器压力增大,而使用时间戳的方式可以解 ...
- 在循环中使用鼠标悬停时表示当前悬停选中,传入this关键字即可
在前端循环中使用鼠标悬停事件 <div class="message-widget contact-widget"> <!-- Message --> {% ...