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 ...
随机推荐
- 乞丐版servlet容器第4篇
6. NIOConnector 现在为Server添加NIOConnector,添加之前可以发现我们的代码其实是有问题的.比如现在的代码是无法让服务器支持同时监听多个端口和IP的,如同时监听 127. ...
- PythonWEB框架之Flask--2
10.请求扩展 1 before_request 类比django中间件中的process_request,在青丘收到之前绑定一个函数做一些事情 #基于它做用户登录认证 @app.before_req ...
- SGU 169 Numbers (找规律)
题意:中文题,直接忽略... 析:先说说我的思路,我一看这个题第一感觉就是要找规律,要是挨着算,猴年马月都跑不完,更何况时间限制是0.25s,怎么找规律呢,我算了一下前10位,分别是8,1,1,3,1 ...
- 201709021工作日记--Volley源码详解(五)
学习完了CacheDispatcher这个类,下面我们看下NetworkDispatcher这个类的具体细节,先上代码: /** * 提供一个线程执行网络调度的请求分发 * Provides a th ...
- C++ 补遗
C++通过引用传递数组 数组形参可以声明为数组的引用.如果形参是数组的引用,编译器不会将数组实参转化为指针,而是传递数组的引用本身. 在这种情况下,数组大小成为形参和实参类型的一部分(实参长度与形参长 ...
- 在每页(分页)报表中重复显示标题 - SQL Server Reporting Service (SSRS)
问题描述 TFS系统提供多种报表,有图表(Chart).Web面板(Dashboard).SharePoint面板.Excel报表,SQL Server Reporting Serivce(SSRS) ...
- C# Socket 实现WebSocket服务器端
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.N ...
- C#远程桌面连接工具
1.注册控件:regsvr32 C:\Windows\System32\mstscax.dll. 2.添加RDP Control控件到工具箱中.我选择的RDP Client Control (redi ...
- The rapid development platform upgrade, leave the time to yourself, the work is lost to the soft platform
Bring me back to your home. Please leave your work behind! Soft agile development framework V7.0 new ...
- Reddit CEO亲自诠释内容审核的无奈
本文由 网易云发布. 导语:继数据泄露危机之后,Facebook将会雇用数千名新员工来负责新的验证系统,这个系统将首先在美国广告客户中生效,并将在未来几个月内涵盖其他国家.与此同时,如何让自己的社区 ...