UiAutomator笔记之UiDevice API(二)
来源:互联网 发布:linux创建属性目录命令 编辑:程序博客网 时间:2024/05/24 00:47
1、UiDevice代表设备状态。如屏幕的大小、旋转方向、按压各种按键等。
2、UiDevice为单例模式,可有2种方式获取其实例。
(1)UiDevice.getInstance();--->推荐
(2)getUiDevice.pressHome();---->在类A中封装方法,方法被类B调用的时候会出现空指针异常
(1)获取设备信息:屏幕分辨率、选装状态、亮灭屏......
(2)操作:按键、坐标操作、滑动、拖拽、截图......
(3)监听器功能
二、按键与KEYCODE使用
1、点击按键 相关API
UiDevice实例调用以下方法即可实现点击按键操作。
2、KEYCODE 键盘映射码
(1)KeyEvent:按键事件,每个键盘映射码都保存在keyEvent的常量中。(2)META Key
<1>辅助功能键: ALT、SHIFT、CAPS_LOCK
<2>辅助功能键的状态
<3>示例
UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_A);//点击输入小写字母aUiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_A,1);//点击输入大写字母A
三、获取坐标与坐标点击
1、坐标相关知识
(1)手机屏幕坐标:从左上角(0,0)开始到右下角(X,Y)(2)dp:设备独立像素,例如,320像素显示到640像素上要拉伸一倍
(3)Point:代表一个点(x,y)
2、坐标相关API
UiDevice实例调用以下方法即可实现获取坐标和点击操作。获得屏幕宽度
3、Uiautomator Viewer
(1)功能:获取屏幕快照,并通过快照获取到控件的属性。(2)启用方式
方式一、启动路径:adt/sdk/tools/UiautomatorViewer
方式二、Eclipse/DDMS/Devices/UiautomatorViewer
通过UiautomatorViewer获取屏幕快照,选中目标控件,通过Node Detail / bounds[左上角顶点坐标][右下角顶点坐标] 可获取到控件的位置。
4、示例
(1)
UiDevice.getInstance().click(399,355);//点击[399,355]坐标点
(2)int h = UiDevice.getInstance().getDisplayHeight();
int w = UiDevice.getInstance().getDisplayWidth();
UiDevice.getInstance().click(w/2,h/2); //点击屏幕的中心点
(3)
UiObject object = new UiObject(new UiSelector.resoutceId("com.andr....控件Id"));//根据ID获取控件
Rect r = object.getBounds();//获取控件对应的矩形区域相关属性r.left; //矩形左上角顶点X坐标
r.top; //矩形左上角顶点Y坐标
r.right; //矩形右下角顶点X坐标
r.bottom; //矩形右下角顶点Y坐标
r.centerX(); //矩形的中心点X坐标
r.centerY(); //矩形的中心点Y坐标
四、拖拽与滑动
1、相关概念
(1)拖拽:将一个组件从一个坐标移动到另一个坐标处。
(2)滑动:手指从一个坐标点移动到另一个坐标点。
(3)步长:从一点滑动到另一点使用的时间,步长越短说明移动越快。
2、拖拽与滑动相关API
3、示例:按照一个矩形的路径滑动
Point p1 = new Point();
Point p2 = new Point();
Point p3 = new Point();
Point p4 = new Point();
p1.x =277;
p1.y =318;
...... //设置四个顶点的横纵坐标
Point[] pp = {p1,p2,p3,p4};
UiDevice.getInstance().swipe(pp,50); //每50毫秒走一步(从一个点滑动到下一个点)
五、旋转屏幕
1 、旋转屏幕相关知识
(1)旋转方向:4个方向,分别为 0度,90度,180度,270度
(2)重力感应器
(3)固定位置与物理旋转
固定位置:屏幕的方向固定在0、90、180、270度;
物理旋转:与重力感应器连接,关闭了物理旋转就是关闭了重力感应器。
2、屏幕旋转相关API
六、灭屏与唤醒
灭屏与唤醒相关API
七、截图与等待空闲
(1)图片缩放比例:如缩小1/2,即将100*100px的图片长宽都缩小为原来的1/2,50*50px。
(2)图片质量:一般是指图片的大小,质量越高图片越大。
(3)File 类:文件或者文件夹。
(4)图片格式 :截图的格式都是PNG。
(5)空闲状态:窗口没有更新或界面无动作。
(6)窗口更新事件。
2、截图相关API
storePath:存储路径,必须为png格式。
scale:缩放比例,1.0为原图。
quality:图片压缩质量,范围为0-100。
3、等待空闲相关API
八、获取包名&开启通知栏&快速设置&获取布局文件
包名:应用的唯一标识。
通知栏:从手机顶部下滑,出现的下拉界面即通知栏。
快速设置:即通知栏中的快速设置控件,快速设置界面可设置网络、屏幕亮度、飞行模式等。
2、相关API
- UiAutomator笔记之UiDevice API(二)
- UiAutomator(2)--UiDevice API
- android自动化测试之Uiautomator-UiDevice-API
- Android自动化测试之 Uiautomator-UiDevice-API
- UiAutomator之UiDevice
- UIAutomator之---UiDevice
- Uiautomator小记之 Uidevice
- Uiautomator 2.0之UiDevice新增API学习小记
- 解密uiautomator-API之UiDevice实例化方法
- 安卓自动化之uiautomator(python篇)二 UiDevice
- UiAutomator笔记之UiSelector API(三)
- UiAutomator笔记之UiObject API(四)
- UiAutomator笔记之UiCollection API(五)
- UiAutomator笔记之UiScrollable API(六)
- 03Android UiAutomator UiDevice API 详细介绍
- uiautomator中的UiDevice学习笔记(1)
- uiautomator中的UiDevice学习笔记(1)
- Android Uiautomator UiDevice类
- android-Intent电话、短信、联系人跳转
- 机器视觉的应用之四(识别)
- HTML5中的浮动(float)与清除浮动(clear)
- 浮点型数据
- POJ 3678 Katu Puzzle (2-SAT)
- UiAutomator笔记之UiDevice API(二)
- js/jq引入函数等
- 0-1 knapsack problem
- include的使用
- python学习中级,纯代码学习版
- 个性化配置putty并保存配置
- Linux总结(三):归档、压缩
- BeanNameAware接口和BeanFactoryAware接口
- Objective-C中的属性特性