UiDevice用来与测试设备进行交互,获取设备信息,发送操作指令及保存截图布局等状态,根据其api功能的不同,以下分几个方面简单介绍其常用的功能:
1、事件操作相关。
向设备发送按钮点击事件,封装了部分常用的按钮,但所有按钮事件都可以通过pressKeyCode(int keyCode)这个方法来等效指定:
返回值 |
方法及说明 |
boolean |
pressBack() / pressHome() / pressMenu() / pressSearch() 单击返回键 / Home键 / 菜单键 / 搜索键 |
boolean | pressKeyCode(int keyCode) 向设备发送事件keyCode,具体事件可见参见KeyEvent |
用法:
public void testKey() {
UiDevice device = UiDevice.getInstance();
//点击系统返回键
device.pressBack();
//点击系统home键
device.pressHome();
}
2、屏幕操作相关。
向设备发送屏幕操作事件,包含点击,拖拽,修改设备屏幕状态(亮灭屏,屏幕方向),其中双击可以使用click进行组合,多个点连续滑动可以使用swipe(Point[] segments, int segmentSteps)
返回值 |
方法及说明 |
boolean |
click(int x, int y) 点击屏幕坐标点(x,y),坐标原点从屏幕左上角开始 打开开发者选项—指针位置,就可以查看点击坐标点 |
boolean |
drag(int startX, int startY, int endX, int endY, int steps) 从(startX, startY)向(endX, endY)拖拽,不长为steps |
boolean |
swipe(int startX, int startY, int endX, int endY, int steps) 从(startX, startY)向(endX, endY)滑动,不长为steps |
boolean |
swipe(Point[] segments, int segmentSteps) 按住不动顺序完成点间的滑动,步长segmentSteps 多个点之间连续滑动可以使用此方法 |