Android无线测试之—UiAutomator UiDevice API介绍二
按键与KEYCODE使用
一、手机常见按键:
1)HOME 主屏幕键
2) MENU 菜单键
3) BACK 返回键
4) VOLUME_UP 音量加键
5) VOLUME_DOWN 音量减键
6) RecentApps 最近使用app
7) POWER 电源键
8) Dpad 上下左右键
9) ......
二、按键API说明:
返回值 | 方法名 | 描述 |
boolean | pressBace() | 模拟短按返回back键 |
boolean | pressDPadCenter() | 模拟轨迹球中点按键 |
boolean | pressDPadDown() | 模拟轨迹球向下按键 |
boolean | pressDPadLeft() | 模拟轨迹球向左按键 |
boolean | pressDPadRight() | 模拟轨迹球向右按键 |
boolean | pressDPadUp() | 模拟轨迹球向上按键 |
boolean | pressDelete() | 模拟短按删除delete按键 |
boolean | pressEnter() | 模拟短按回车键 |
boolean | pressHome() | 模拟短按home键 |
boolean | pressKeyCode(int keyCode, int metaState) | 模拟短按键盘代码keyCode |
boolean | pressKeyCode(int keyCode) | 模拟短按键盘代码keyCode |
boolean | pressMenu() | 模拟短按menu键 |
boolean | pressRecentApps() | 模拟短按最近使用程序 |
boolean | pressSearch() | 模拟短按搜索键 |
举例:
package com.uiautomatortest; import android.os.Bundle;
import android.os.RemoteException; import com.android.uiautomator.core.UiDevice;
import com.android.uiautomator.testrunner.UiAutomatorTestCase; public class Test extends UiAutomatorTestCase { public void testHome(){ UiDevice.getInstance().pressHome();
sleep(2000);
} public void testMenu(){ UiDevice.getInstance().pressMenu();
sleep(2000);
} public void testRecent() throws RemoteException{ UiDevice.getInstance().pressRecentApps();
sleep(2000);
} }
Test.java
三、KEYCODE 键盘映射码:
1)KeyEvent 按键事件
2)META KEY
辅助功能键:ALT、SHIFT、CAPS_LOCK
列 | 激活状态 | metaState |
base | META_key未被激活 | 0 |
caps | Shift或Caps Lock被激活 | 1 |
fn | Alt被激活 | 2 |
caps_fn | Alt、Shift或Caps Lock同时被激活 | 3 |
举例:
package com.uiautomatortest; import android.os.Bundle;
import android.os.RemoteException;
import android.view.KeyEvent; import com.android.uiautomator.core.UiDevice;
import com.android.uiautomator.testrunner.UiAutomatorTestCase; public class Test extends UiAutomatorTestCase { public void testHome(){ UiDevice.getInstance().pressHome();
sleep(2000);
} public void testMenu(){ UiDevice.getInstance().pressMenu();
sleep(2000);
} public void testRecent() throws RemoteException{ UiDevice.getInstance().pressRecentApps();
sleep(2000);
} public void testKeyCode(){ UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_A); //小写a
UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_B); //小写b
UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_C); //小写c UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_A,1); //大写A
UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_B,1); //大写B
UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_C,1); //大写C } }
Test.java
Android无线测试之—UiAutomator UiDevice API介绍二的更多相关文章
- Android无线测试之—UiAutomator UiDevice API介绍一
UiDevice 类介绍 1.UiDevice 代表设备状态 2.UiDevice 为单例模式 获取UiDevice实例的方式: 1) UiDevice.getInstance() 2) getUiD ...
- Android无线测试之—UiAutomator UiDevice API介绍八
获取包名.开启通知栏.快速设置.获取布局文件的方法 一.包名.通知栏.快速设置.布局文件等相关知识: 1)包名:标示应用的符号,每个应用的名字 2)通知栏:从主界面的顶端向下拉,就可以打开通知栏 3) ...
- Android无线测试之—UiAutomator UiDevice API介绍四
拖拽与滑动 一.概念介绍: 1)拖拽:将组建从一个坐标移动到另一个坐标 2)移动:从一二坐标点移动到另一个坐标点 3)步长:从一点滑动到另一点使用的时间 二.拖拽与滑动的相关API: 返回值 方法名 ...
- Android无线测试之—UiAutomator UiScrollable API介绍二
快速滑动 一.快速滑动相关概念 1.步长:从一点滑动到另一点所用的时间 2.扫动次数:例如列表,要滑动多少次才能到底部,这个滑动次数就是扫动次数 二.相关API 返回值 API 描述 boolean ...
- Android无线测试之—UiAutomator UiObject API介绍二
点击与长按 一.组件区域位置关系 Rect 对象代表一个矩形区域 [Left,Top] [Right,Bottom] 二.点击与长按API 返回值 API 描述 boolean click() 点击对 ...
- 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)DP:设备独立像素,例如320像素显示到640像素上要拉伸一倍 3)Point:代表一个点(x,y),左上角的坐 ...
随机推荐
- (转)Netty : writeAndFlush的线程安全及并发问题
rocketmq用netty实现的网络连接,发现它多个线程掉用一个channel连接,所以这个是线程安全的? 使用Netty编程时,我们经常会从用户线程,而不是Netty线程池发起write操作,因为 ...
- hbase shell删除键不听使唤
用Xshell登陆linux主机后,在hbase shell下死活不能使用backspace和delete删除误输的指令,只得不停退出,重登,仔细输..又错了,再退出,再登,仔细输...又错了...又 ...
- 转:ios的crash框架方法论
http://www.cocoachina.com/ios/20150701/12301.html 1. 其中提到的提高ios崩溃率的用法.
- JAVA加解密 -- 消息摘要算法
消息摘要算法是一种单向加密算法 主要用于验证数据完整性,也是数字签名的核心算法 消息鉴别:指在接收方将原始信息进行摘要,然后与接收到的摘要信息进行对比 a.MD家族 – MD5(128位摘要信息) M ...
- ExtentReports 结合 TestNg 生成自动化 html 报告 (支持多 suite)
转载:https://testerhome.com/topics/8134 重要说明:报告监听器源码修复一些bug,不再此处更新代码,最新代码可以到github查看最新报告监听器源码 前几天分享了ht ...
- Linux 后台开发常用命令
1.automake编译 autoreconf -isv ./configure make 2.远程获取代码 rsync -aPvr --exclude=*/log/* *.*.*.*::home/s ...
- web报表工具FineReport常见的数据集报错错误代码和解释
在使用finereport制作报表.若预览错误发生.非常多朋友便手忙脚乱不知所措了,事实上没什么,仅仅要看懂报错代码和含义.能够非常快的排除错误,这里我就分享一下finereport的数据集报错错误代 ...
- 编写C函数的技术-《lua程序设计》 27章 学习
1.数组操作 void lua_rawgeti(lua_State * L ,int index,int key) void lua_rewseti(lua_State * L,int index,i ...
- LuaStudio编辑调试软件
该编辑调试器最大特点就是能够注入到宿主程序内对lua脚本进行调试.还能够设置断点观察变量的值,功能很强大. 如今已有的编辑器有Notepad++, Editplus, luaforwindows, S ...
- vue 手动挂载$mount() 获取 $el
手动挂载$mount() 如果没有挂载的话,没有关联的 DOM 元素.是获取不到$el的. https://vuejs.org/v2/api/#vm-mount var MyComponent = V ...