按键与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. 爪哇国新游记之二十九----访问URL获取输入流

    代码: import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileWriter; import ...

  2. C++ x86程序与x64程序中,各种内置类型的大小比较

    代码: #include <iostream> #include <cstdio> #include <list> #include <string> ...

  3. unity3D克隆50个游戏对象并输出Json格式的文本

    http://wenku.baidu.com/link?url=tl8q_aj1n-U267XkKtSZISaw6jKJ1woh4CJkDUr1AwEzllSAv7P0r7cawXXSyDVXNf6m ...

  4. LoadRunner测试WebService的3种方式

    LR在WebService虚拟用户协议中支持两种方式测试WebService,一种是通过“Add Service Call”的方式,一种是Import SOAP的方式. Import SOAP的方式需 ...

  5. Oracle 存储过程调用返回游标的另一个存储过程。

    一个扩展存储过程调用另一个存储过程,示例: 被调用存储过程:最后会返回一个游标,游标返回一个值.调用这个存储过程的存储过程同样需要获取它. procedure SearchBill --根据到货单号查 ...

  6. lucene 搜索优化,个人实战经验总结

    1.IndexSearch.IndexReader等都是线程安全的类,多线程并发使用是没有问题的.不到忘不得以,尽量避免重新实例化,他们实例化是很花费时间的,看一下他们的构造原理你就知道了.   2. ...

  7. 自己动手制作更好用的markdown编辑器-02

    这里文章都是从个人的github博客直接复制过来的,排版可能有点乱. 原始地址 http://benq.im 文章目录 1. 工具条 1.1. 样式 1.2. 工具条截图 2. 状态栏消息 3. 文件 ...

  8. Redis之持久化和主从同步

    Redis作为内存数据库,所有数据都保存在内存中, 一旦程序停止工作, 数据都将丢失. 需要我们重新从其他地方加载数据. 不过Redis提供了两种方式保存Redis中的数据一种是dump内存直接存入r ...

  9. Java_MD5的使用

    在Java中使用MD5摘要还是很方便的,直接上代码. package com.cxc.nothing; import java.nio.charset.Charset; import java.sec ...

  10. java中的static方法和实例方法区别

    1.static方法是大家共享的资源,放在内存堆中,比如村里的河水,每个人都可以取,而且不管你创建多少个实例,该方法在内存中只有一个,节省内存空间, 而且访问速度也是比较快的. 2.实例方法就不同,它 ...