您的位置:首页 > 产品设计 > UI/UE

03Android UiAutomator UiDevice API 详细介绍

2015-09-29 17:06 627 查看

UiDevice类介绍

1 、UiDevice代表设备状态

2 、UiDevice为单例模式

3 、UiDevice 功能

1)获取设备信息:屏幕分辨率,旋转状态,亮灭屏状态等

2)操作:按键,坐标操作,滑动,拖拽,灭屏唤醒屏幕,截图等

3)监听器功能

按键与KeyCode使用

1、手机常见按键
1)HOME

2)MENU(菜单键)

3)BACK (返回)

4)VOLUME_UP(音量加)

5)VOLUME_DOWN(音量减)

6)RecentApps (最近使用APP)

7)POWER (电源键)

8)Dpad (上下左右键)

9)...

2、按键API说明

返回值方法名描述
booleanpressBack()模拟短按返回back键
booleanpressDPadCenter()模拟按轨迹球中点按键
booleanpressDPadDown()模拟轨迹球向下按键
booleanpressDPadLeft()模拟轨迹球向左按键
booleanpressDPadRight()模拟轨迹球向右按键
booleanpressDPadUp()模拟轨迹球向上按键
booleanpressDelete()模拟短按删除delete按键

boolean

pressEnter()

模拟短按回车键

boolean

pressHome()

模拟短按HOME键
boolean

pressKeyCode(int keyCode, int metaState)

模拟短按键盘代码keycode

boolean

pressKeyCode(int keyCode)

模拟短按键盘代码keycode
booleanpressMenu()

模拟短按menu键

boolean

pressRecentApps()

模拟短按最近使用程序

boolean

pressSearch()

模拟短按搜索键
3 、KEYCODE 键盘映射码
1)KeyEvent 按键事件

2)META Key

辅助功能键: ALT、SHIFT、CAPS_LOCK

激活状态metaState
baseMETA_key未被激活

0
capsSHIFT或CAPS_LOCK被激活时

1
fnALT被激活

2
caps_fnALT,SHIFT或CAPS_LOCK同时被激活时

3

获取坐标与坐标点击

1 、坐标相关知识
1)手机屏幕坐标:从左上角开始到右下角

2)DP:设备独立像素,例如,320像素显示到640像素上要拉升一倍

3)Point:代表一个点(x,y)



2 、坐标相关API

返回值 方法名 描述

boolean click(int x, int y) 使用坐标点击屏幕

int getDisplayHeight() 获取屏幕高度

Point getDisplaySizeDp() 获取显示尺寸返回显示大小(设备独立像素),屏幕旋转返回的显示大小调整

int getDisplayWidth() 获得屏幕宽度

拖拽与滑动

1 、拖拽与滑动相关知识
1 )拖拽:将一个组件从一个坐标移动到另一个坐标处

2 )滑动:从一个坐标点移动到另一个坐标点

3 )步长:从一点滑动到另一点使用的时间

2 、拖拽与滑动相关API介绍
返回值 方法名 描述

boolean drag(int startX, int startY, int endX,int endY, int steps) 拖动对象从一个坐标拖动到另一个坐标

boolean swipe(Point[] segments, int segmentSteps) 在点阵列中滑动,5ms一步

boolean swipe(int startX, int startY, int endX, int endY, int steps) 通过坐标滑动屏幕

旋转屏幕

1 、旋转屏幕相关知识
1 )旋转方向:4个方向,分别为 0度,90度,180度,270度

2 )重力感应器

3 )固定位置与物理旋转

2 、旋转屏幕相关API

返回值方法名描述
voidsetOrientationLeft()通过禁用传感器,然后模拟设备向左转,并且固定位置
voidsetOrientationNatural()通过禁用传感器,然后模拟设备转到其自然默认的方向,并且固定位置
voidsetOrientationRight()通过禁用传感器,然后模拟设备向右转,并且固定位置
voidunfreezeRotation()重新启用传感器和允许物理旋转
booleanisNaturalOrientation()

检测设置是否处于默认旋转状态
intgetDisplayRotation()返回当前的显示旋转,0度,90度,180度,270度 值分别为:0、1、2、3

voidfreezeRotation()禁用传感器和冻结装置物理旋转在其当前旋转状态

灭屏与唤醒屏幕

1 、灭屏与唤醒屏幕相关知识
1)灭屏:按电源键将屏幕熄灭

2)唤醒屏幕:在灭屏状态下按电源键点亮屏幕

2 、灭屏与唤醒屏幕相关API

返回值方法名描述
voidwakeUp()模拟按电源键,如果屏幕是唤醒的没有任何作用
voidsleep()模拟按电源键,如果屏幕已经是关闭的则没有任何作用
booleanisScreenOn()检查屏幕是否亮屏

截图与等待空闲

1 、截图与等待空闲相关知识
1)图片缩放比例

2)图片质量

3)File 类

4)图片格式 :PNG

5 ) 空闲状态

6)窗口更新事件

2 、截图相关API

返回值方法名描述
booleantakeScreenshot(File storePath)把当前窗口截图并将其存储为png

默认1.0f的规模(原尺寸)和90%质量,

参数为file类的文件路径
booleantakeScreenshot(File storePath, float scale, int quality)把当前窗口截图为png格式图片,

可以自定义缩放比例与图片质量
参数说明:

storePath:存储路径,必须为png格式

Scale:缩放比例,1.0为原图

Quality:图片压缩质量,范围为0-100

3 、等待空闲相关API

返回值方法名描述
voidwaitForIdle(long timeout)自定义超时等待当前应用处于空闲状态
voidwaitForIdle()等待当前应用处于空闲状态,默认等待10s
booleanwaitForWindowUpdate(String packageName, long timeout)等待窗口内容更新事件的发生
参数说明:

Timeout:超时等待时间

获取包名&开启通知栏&快速设置&获取布局文件

1 、包名,通知栏,快速设置,布局文件 相关知识
1)包名

2)通知栏

3)快速设置

4)布局文件

2 、包名,通知栏,快速设置,布局文件相关API

返回值方法名描述
voidgetCurrentPackageName()获取当前界面的包名
voiddumpWindowHierarchy(String fileName)获取当前界面的布局文件,保存在/data/local/tmp/目录下
booleanopenNotification()打开通知栏
booleanopenQuickSettings()打开快速设置
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: