Android UI 自动化测试之UiDevice
来源:互联网 发布:矩阵的秩8个性质及证明 编辑:程序博客网 时间:2024/05/21 12:54
UiDevice介绍
UiDevice代表设备状态,为单例模式
具体功能:
(1)获取设备信息,屏幕分辨率,旋转状态,亮灭屏状态等
(2)操作:按键,坐标操作,滑动,拖拽,灭屏唤醒屏幕,截图等
(3)监听器功能//容易造成空指针异常// getUiDevice().pressMenu();// getUiDevice().pressHome();// 一般使用下列方法 UiDevice.getInstance().pressMenu();UiDevice.getInstance().pressHome();
按键与 KEYCODE使用
手机常见按键
(1) HOME HOME 键
(2)MENU 菜单键
(3)BACK 返回键
(4)VOLUME_UP 音量加
(5)VOLUME_DOWN 音量减
(6)RecentApps 最近使用 App
(7)POWER 电源键
(8)Dpad 上下左右键
(9)….
按键 API说明
//按键 API //返回 UiDevice.getInstance().pressBack(); //轨迹球中点按键 UiDevice.getInstance().pressDPadCenter(); //轨迹球上按键 UiDevice.getInstance().pressDPadUp(); //轨迹球下按键 UiDevice.getInstance().pressDPadDown(); //轨迹球左按键 UiDevice.getInstance().pressDPadLeft(); //轨迹球右按键 UiDevice.getInstance().pressDPadRight(); //删除 UiDevice.getInstance().pressDelete(); //回车 UiDevice.getInstance().pressEnter(); //Home 键 UiDevice.getInstance().pressHome(); //键盘代码 keycode //UiDevice.getInstance(int keyCode,int metaState); //UiDevice.getInstance(int keyCode); //Menu 键盘 UiDevice.getInstance().pressMenu(); //最近使用 app UiDevice.getInstance().pressRecentApps(); //搜索 UiDevice.getInstance().pressSearch(); KEYCODE 键盘映射码 (1)keyEvent 按键事件//小写 UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_A); //大写 UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_A,1);
3.获取坐标与坐标点击
(1)方法名:click(int x,int y) 使用坐标点击屏幕 (2)方法名:getDisplayHeight() 获取屏幕高度 (3)方法名:getDisplayWidth() 获取屏幕宽度
4.拖拽与滑动
拖拽:将一个组件从一个坐标点移动到另一个坐标处
滑动:从一个坐标顶移动到另一个坐标点
步长:从一点滑动到另一点使用的时间(1步长是5毫秒)
(1)方法名:drag(int starX,int startY,int endX int endY,int steps) 拖动对象从一个坐标拖动到另一个坐标 (2)方法名:swipe(Poiint[] segments,int segmentSteps) 在点阵列中滑动,5ms 一步 (3)方法名:swipe(int starX,int startY,int endX int endY,int steps)通过坐标滑动屏幕
5.旋转屏幕
旋转方向;4个方向,分别为0度,90度,180度,270度
重力感应器
固定位置与物理旋转
(1)方法名: setOrientationLeft() 通过禁用传感器,然后模拟设备向左转,并且固定位置 (2)方法名: setOrientationNatural() 通过禁用传感器,然后模拟设备转到其自然默认的方向,并且固定位置 (3)方法名: setOrientationRight() 通过禁用传感器,然后模拟设备向右转,并且固定位置 (4)方法名: sunfreezeRoation() 重新启用传感器和允许物理旋转 (5)方法名: isNaturalOrientation() 检测设置是否处于默认旋转状态 (6)方法名: getDisplayRotation() 返回当前的显示旋转,0度,90度,180度,270度,值分别为0、1、2、3 (7)方法名:freezeRoation() 禁用传感器和冻结装置屋里旋转在其当前旋转状态
6.灭屏与唤醒屏幕
灭屏:按电源键将屏幕熄灭
唤醒屏幕:在灭屏状态下安电源键点亮屏幕
(1)方法名: wakeUp() 模拟按电源键,如果屏幕是唤醒的没有任何作用(2)方法名: sleep() 模拟按电源键,如果屏幕已经是关闭的则没有任何作用(3)方法名:isScreenOn() 检查屏幕是否亮屏
7.截图与等待空闲
截图
(1)方法名:takeScreenshot(File storePath) 把当前窗口截图并将其存储为 png 默认1.0f 规模(原尺寸文件)和90%质量,参数为 file 类的文件路径(2)takeScreenshot(File storePath,float scale,int quality) 把当前窗口截图为 png 格式图片,可以自定义缩放比例与图片质量参数说明:storePath:存储路径,必须为 png 格式Scale: 缩放比例,1.0为原图Quality: 图片压缩质量,范围为0-100
等待空闲
(1)waitForIdle(long timeout)自定义超时等待当前应用处于空闲状态(2)waitForIdle()等待当前应用处于空闲状态,默认等待10s(3)waitForWindowUpdate(String packageName,long timeout) 等待窗口内容更新事件的发生
8.获取包名&开启通知栏&快速设置&获取布局文件
包名,通知栏,快速设置,布局文件
(1)getCurrentPackageName() 获取当前界面的包名(2)dumpWindowHierachy(String fileName)获取当前界面布局文件,保存在/ data/local/tmp 目录下(3) openNotification() 打开通知栏(4)openQuickSettings 打开快速设置
阅读全文
0 0
- Android UI 自动化测试之UiDevice
- android自动化测试之Uiautomator-UiDevice-API
- Android自动化测试之 Uiautomator-UiDevice-API
- Android UI 自动化测试之UiSelector
- Android UI 自动化测试之UiObject
- Android UI 自动化测试之UiCollection
- Android UI自动化测试
- Android UI 自动化测试
- Android UI 自动化测试
- Android UI 自动化测试
- Android UI 自动化测试
- Android UI 自动化测试工具
- 总结Android UI 自动化测试
- Android UI自动化测试--Espresso
- Android自动化测试|UI Automatorviewer
- Android自动化测试 UI Automator
- android开发之Jenkins并行完成UI的自动化测试
- Android自动化测试之——UI Automator
- maven命令详解和Eclispe中的使用
- 配置最小oracle实例单元
- 51nod 1103 N的倍数
- 单链表反转的递归与非递归解法
- 关于js new Date() 出现NaN 的分析
- Android UI 自动化测试之UiDevice
- 使用自定义端口连接SQL Server 2008的方法
- 【jzoj5237】【GDOI2018模拟8.7】【最长公共子序列 】【动态规划】
- UVA796 Critical Links (tanjar求桥)
- 简单使用百度语音合成、工具类直接使用
- LintCode49
- 进程通信值pipe管道
- CodeForces
- Leetcode Median of Two Sorted Arrays