按键与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() 模拟短按搜索键

举例:

  1. package com.uiautomatortest;
  2.  
  3. import android.os.Bundle;
  4. import android.os.RemoteException;
  5.  
  6. import com.android.uiautomator.core.UiDevice;
  7. import com.android.uiautomator.testrunner.UiAutomatorTestCase;
  8.  
  9. public class Test extends UiAutomatorTestCase {
  10.  
  11. public void testHome(){
  12.  
  13. UiDevice.getInstance().pressHome();
  14. sleep(2000);
  15. }
  16.  
  17. public void testMenu(){
  18.  
  19. UiDevice.getInstance().pressMenu();
  20. sleep(2000);
  21. }
  22.  
  23. public void testRecent() throws RemoteException{
  24.  
  25. UiDevice.getInstance().pressRecentApps();
  26. sleep(2000);
  27. }
  28.  
  29. }

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

举例:

  1. package com.uiautomatortest;
  2.  
  3. import android.os.Bundle;
  4. import android.os.RemoteException;
  5. import android.view.KeyEvent;
  6.  
  7. import com.android.uiautomator.core.UiDevice;
  8. import com.android.uiautomator.testrunner.UiAutomatorTestCase;
  9.  
  10. public class Test extends UiAutomatorTestCase {
  11.  
  12. public void testHome(){
  13.  
  14. UiDevice.getInstance().pressHome();
  15. sleep(2000);
  16. }
  17.  
  18. public void testMenu(){
  19.  
  20. UiDevice.getInstance().pressMenu();
  21. sleep(2000);
  22. }
  23.  
  24. public void testRecent() throws RemoteException{
  25.  
  26. UiDevice.getInstance().pressRecentApps();
  27. sleep(2000);
  28. }
  29.  
  30. public void testKeyCode(){
  31.  
  32. UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_A); //小写a
  33. UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_B); //小写b
  34. UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_C); //小写c
  35.  
  36. UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_A,1); //大写A
  37. UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_B,1); //大写B
  38. UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_C,1); //大写C
  39.  
  40. }
  41.  
  42. }

Test.java

Android无线测试之—UiAutomator UiDevice API介绍二的更多相关文章

  1. Android无线测试之—UiAutomator UiDevice API介绍一

    UiDevice 类介绍 1.UiDevice 代表设备状态 2.UiDevice 为单例模式 获取UiDevice实例的方式: 1) UiDevice.getInstance() 2) getUiD ...

  2. Android无线测试之—UiAutomator UiDevice API介绍八

    获取包名.开启通知栏.快速设置.获取布局文件的方法 一.包名.通知栏.快速设置.布局文件等相关知识: 1)包名:标示应用的符号,每个应用的名字 2)通知栏:从主界面的顶端向下拉,就可以打开通知栏 3) ...

  3. Android无线测试之—UiAutomator UiDevice API介绍四

    拖拽与滑动 一.概念介绍: 1)拖拽:将组建从一个坐标移动到另一个坐标 2)移动:从一二坐标点移动到另一个坐标点 3)步长:从一点滑动到另一点使用的时间 二.拖拽与滑动的相关API: 返回值 方法名 ...

  4. Android无线测试之—UiAutomator UiScrollable API介绍二

    快速滑动 一.快速滑动相关概念 1.步长:从一点滑动到另一点所用的时间 2.扫动次数:例如列表,要滑动多少次才能到底部,这个滑动次数就是扫动次数 二.相关API 返回值 API 描述 boolean ...

  5. Android无线测试之—UiAutomator UiObject API介绍二

    点击与长按 一.组件区域位置关系 Rect 对象代表一个矩形区域 [Left,Top] [Right,Bottom] 二.点击与长按API 返回值 API 描述 boolean click() 点击对 ...

  6. Android无线测试之—UiAutomator UiDevice API介绍七

    截图与等待空闲 一.截图和等待空闲相关知识: 1)图片缩放比例:例如图片从100像素缩小到50像素 2)图片质量:是指图片大小,质量越高图片越大,质量越低图片越小 3)File类:指的是一个文件或者一 ...

  7. Android无线测试之—UiAutomator UiDevice API介绍六

    一.灭屏和唤醒屏幕相关知识: 1)灭屏:按电源键将屏幕熄灭 2)唤醒屏幕:在灭屏状态下按电源键唤醒屏幕 二.灭屏与唤屏相关的API: 返回值 方法名 描述 void wakeUp() 模拟按电源键,如 ...

  8. Android无线测试之—UiAutomator UiDevice API介绍五

    屏幕旋转 一.屏幕旋转相关知识: 1)旋转方向:0度,90度(向左转),180度,270度(向右转) 2)重力感应器:重力感应器是旋转所依靠的 3)固定位置:指将屏幕方向固定在0度,90度或者180度 ...

  9. Android无线测试之—UiAutomator UiDevice API介绍三

    获取坐标与坐标点击 一.坐标相关的知识: 1)手机屏幕坐标:左上角开始到右下角结束 2)DP:设备独立像素,例如320像素显示到640像素上要拉伸一倍 3)Point:代表一个点(x,y),左上角的坐 ...

随机推荐

  1. 按照vue文档使用JavaScript钩子但是却不能执行动画?

    大家刚入VUE肯定是先去阅读文档, 在 进入/离开 & 列表过渡 这一章节有一小节 ---------  JavaScript钩子 详情见vue文档:  https://cn.vuejs.or ...

  2. 进程资源和进程状态 TASK_RUNNING TASK_INTERRUPTIBLE TASK_UNINTERRUPTIBLE

    摘要:本文主要介绍进程资源和进程状态.进程资源由两部分组成:内核空间进程资源以及用户空间进程资源.进程状态,就绪/执行状态.等待状态(能够被中断打断).等待状态(不能够被中断打断).停止状态和僵死状态 ...

  3. Unity3D在WebPlayer模式下的异常上报探索

    原地址:http://www.cnblogs.com/hisiqi/archive/2013/07/21/3203527.html 我们知道,Unity3D在WebPlayer的发布模式下是沙箱环境中 ...

  4. 【Java】Java_12 Eclipse

    1.eclipse简介 Eclipse 是一个开放源代码的.基于Java的可扩展开发平台.就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境. 尽管 Eclipse 是使用Java语 ...

  5. Centos 7 安装 Mysql5.7(压缩包方式)

    今天装的了mysql,遇到了很多问题,好在最后一一解决了,现在记录在此,防止日后老路重走... 1.下载 当然是去官网,下一个linux下的版本,64位的 tar.gz,好吧这里贴个名字——[mysq ...

  6. jquery ui dialog 中使用select2 导致select2的input失去焦点的解决方法

    在jqueryUI 的dialog中使用select2,select2的input search无论怎样都获取不到焦点? 解决方法: $(document).ready(function () { $ ...

  7. iOS开发-简单获取View截图图像(Quartz2D)

    1. 先指定图像的大小 UIGraphicsBeginImageContext(view.frame.size); 2. 在指定的区域绘制图像 [view drawViewHierarchyInRec ...

  8. Swift学习-枚举(Enumerations)的使用方法

    Swift学习-枚举的使用方法 枚举的使用语法: enum someEnumer { // 枚举的成员值 } 以下是方向的一个例子: enum direction { case Up case Dow ...

  9. 剑指Offer-正则表达式匹配(Python)

    1 题干内容 请实现一个函数用来匹配包括.和*的正则表达式.模式中的字符.表示任意一个字符,而*表示它前面的字符可以出现任意次(包含0次). 在本题中,匹配是指字符串的所有字符匹配整个模式. 例如,字 ...

  10. php中的可变变量、可变函数、匿名函数

    1.可变变量 简而言之:获取一个普通变量的值作为这个可变变量的变量名. 如: $a = "hello"; $$a = " world"; /* $a 的值为&q ...