Instrumentation 自动化测试,模拟用户操作

使用Instrumentation 时,必须new 一个线程进行操作,如下代码模拟音量增大的操作


 
  
Instrumentation mInstrumentation=new Instrumentation();

 Thread t = new Thread(new Runnable() {

     @Override
     public void run() {
         mInstrumentation.sendKeyDownUpSync(KeyEvent.KEYCODE_VOLUME_UP);//音量增大
     }
 });
 t.start();

其中KeyEvent可以使用的值如下:

public static final int ACTION_DOWN = 0;
public static final int ACTION_MULTIPLE = 2;
public static final int ACTION_UP = 1;
public static final Creator<KeyEvent> CREATOR = null;
public static final int FLAG_CANCELED = 32;
public static final int FLAG_CANCELED_LONG_PRESS = 256;
public static final int FLAG_EDITOR_ACTION = 16;
public static final int FLAG_FALLBACK = 1024;
public static final int FLAG_FROM_SYSTEM = 8;
public static final int FLAG_KEEP_TOUCH_MODE = 4;
public static final int FLAG_LONG_PRESS = 128;
public static final int FLAG_SOFT_KEYBOARD = 2;
public static final int FLAG_TRACKING = 512;
public static final int FLAG_VIRTUAL_HARD_KEY = 64;
/** @deprecated */
@Deprecated
public static final int FLAG_WOKE_HERE = 1;
public static final int KEYCODE_0 = 7;
public static final int KEYCODE_1 = 8;
public static final int KEYCODE_11 = 227;
public static final int KEYCODE_12 = 228;
public static final int KEYCODE_2 = 9;
public static final int KEYCODE_3 = 10;
public static final int KEYCODE_3D_MODE = 206;
public static final int KEYCODE_4 = 11;
public static final int KEYCODE_5 = 12;
public static final int KEYCODE_6 = 13;
public static final int KEYCODE_7 = 14;
public static final int KEYCODE_8 = 15;
public static final int KEYCODE_9 = 16;
public static final int KEYCODE_A = 29;
public static final int KEYCODE_ALT_LEFT = 57;
public static final int KEYCODE_ALT_RIGHT = 58;
public static final int KEYCODE_APOSTROPHE = 75;
public static final int KEYCODE_APP_SWITCH = 187;
public static final int KEYCODE_ASSIST = 219;
public static final int KEYCODE_AT = 77;
public static final int KEYCODE_AVR_INPUT = 182;
public static final int KEYCODE_AVR_POWER = 181;
public static final int KEYCODE_B = 30;
public static final int KEYCODE_BACK = 4;
public static final int KEYCODE_BACKSLASH = 73;
public static final int KEYCODE_BOOKMARK = 174;
public static final int KEYCODE_BREAK = 121;
public static final int KEYCODE_BRIGHTNESS_DOWN = 220;
public static final int KEYCODE_BRIGHTNESS_UP = 221;
public static final int KEYCODE_BUTTON_1 = 188;
public static final int KEYCODE_BUTTON_10 = 197;
public static final int KEYCODE_BUTTON_11 = 198;
public static final int KEYCODE_BUTTON_12 = 199;
public static final int KEYCODE_BUTTON_13 = 200;
public static final int KEYCODE_BUTTON_14 = 201;
public static final int KEYCODE_BUTTON_15 = 202;
public static final int KEYCODE_BUTTON_16 = 203;
public static final int KEYCODE_BUTTON_2 = 189;
public static final int KEYCODE_BUTTON_3 = 190;
public static final int KEYCODE_BUTTON_4 = 191;
public static final int KEYCODE_BUTTON_5 = 192;
public static final int KEYCODE_BUTTON_6 = 193;
public static final int KEYCODE_BUTTON_7 = 194;
public static final int KEYCODE_BUTTON_8 = 195;
public static final int KEYCODE_BUTTON_9 = 196;
public static final int KEYCODE_BUTTON_A = 96;
public static final int KEYCODE_BUTTON_B = 97;
public static final int KEYCODE_BUTTON_C = 98;
public static final int KEYCODE_BUTTON_L1 = 102;
public static final int KEYCODE_BUTTON_L2 = 104;
public static final int KEYCODE_BUTTON_MODE = 110;
public static final int KEYCODE_BUTTON_R1 = 103;
public static final int KEYCODE_BUTTON_R2 = 105;
public static final int KEYCODE_BUTTON_SELECT = 109;
public static final int KEYCODE_BUTTON_START = 108;
public static final int KEYCODE_BUTTON_THUMBL = 106;
public static final int KEYCODE_BUTTON_THUMBR = 107;
public static final int KEYCODE_BUTTON_X = 99;
public static final int KEYCODE_BUTTON_Y = 100;
public static final int KEYCODE_BUTTON_Z = 101;
public static final int KEYCODE_C = 31;
public static final int KEYCODE_CALCULATOR = 210;
public static final int KEYCODE_CALENDAR = 208;
public static final int KEYCODE_CALL = 5;
public static final int KEYCODE_CAMERA = 27;
public static final int KEYCODE_CAPS_LOCK = 115;
public static final int KEYCODE_CAPTIONS = 175;
public static final int KEYCODE_CHANNEL_DOWN = 167;
public static final int KEYCODE_CHANNEL_UP = 166;
public static final int KEYCODE_CLEAR = 28;
public static final int KEYCODE_COMMA = 55;
public static final int KEYCODE_CONTACTS = 207;
public static final int KEYCODE_CTRL_LEFT = 113;
public static final int KEYCODE_CTRL_RIGHT = 114;
public static final int KEYCODE_D = 32;
public static final int KEYCODE_DEL = 67;
public static final int KEYCODE_DPAD_CENTER = 23;
public static final int KEYCODE_DPAD_DOWN = 20;
public static final int KEYCODE_DPAD_LEFT = 21;
public static final int KEYCODE_DPAD_RIGHT = 22;
public static final int KEYCODE_DPAD_UP = 19;
public static final int KEYCODE_DVR = 173;
public static final int KEYCODE_E = 33;
public static final int KEYCODE_EISU = 212;
public static final int KEYCODE_ENDCALL = 6;
public static final int KEYCODE_ENTER = 66;
public static final int KEYCODE_ENVELOPE = 65;
public static final int KEYCODE_EQUALS = 70;
public static final int KEYCODE_ESCAPE = 111;
public static final int KEYCODE_EXPLORER = 64;
public static final int KEYCODE_F = 34;
public static final int KEYCODE_F1 = 131;
public static final int KEYCODE_F10 = 140;
public static final int KEYCODE_F11 = 141;
public static final int KEYCODE_F12 = 142;
public static final int KEYCODE_F2 = 132;
public static final int KEYCODE_F3 = 133;
public static final int KEYCODE_F4 = 134;
public static final int KEYCODE_F5 = 135;
public static final int KEYCODE_F6 = 136;
public static final int KEYCODE_F7 = 137;
public static final int KEYCODE_F8 = 138;
public static final int KEYCODE_F9 = 139;
public static final int KEYCODE_FOCUS = 80;
public static final int KEYCODE_FORWARD = 125;
public static final int KEYCODE_FORWARD_DEL = 112;
public static final int KEYCODE_FUNCTION = 119;
public static final int KEYCODE_G = 35;
public static final int KEYCODE_GRAVE = 68;
public static final int KEYCODE_GUIDE = 172;
public static final int KEYCODE_H = 36;
public static final int KEYCODE_HEADSETHOOK = 79;
public static final int KEYCODE_HELP = 259;
public static final int KEYCODE_HENKAN = 214;
public static final int KEYCODE_HOME = 3;
public static final int KEYCODE_I = 37;
public static final int KEYCODE_INFO = 165;
public static final int KEYCODE_INSERT = 124;
public static final int KEYCODE_J = 38;
public static final int KEYCODE_K = 39;
public static final int KEYCODE_KANA = 218;
public static final int KEYCODE_KATAKANA_HIRAGANA = 215;
public static final int KEYCODE_L = 40;
public static final int KEYCODE_LANGUAGE_SWITCH = 204;
public static final int KEYCODE_LAST_CHANNEL = 229;
public static final int KEYCODE_LEFT_BRACKET = 71;
public static final int KEYCODE_M = 41;
public static final int KEYCODE_MANNER_MODE = 205;
public static final int KEYCODE_MEDIA_AUDIO_TRACK = 222;
public static final int KEYCODE_MEDIA_CLOSE = 128;
public static final int KEYCODE_MEDIA_EJECT = 129;
public static final int KEYCODE_MEDIA_FAST_FORWARD = 90;
public static final int KEYCODE_MEDIA_NEXT = 87;
public static final int KEYCODE_MEDIA_PAUSE = 127;
public static final int KEYCODE_MEDIA_PLAY = 126;
public static final int KEYCODE_MEDIA_PLAY_PAUSE = 85;
public static final int KEYCODE_MEDIA_PREVIOUS = 88;
public static final int KEYCODE_MEDIA_RECORD = 130;
public static final int KEYCODE_MEDIA_REWIND = 89;
public static final int KEYCODE_MEDIA_SKIP_BACKWARD = 273;
public static final int KEYCODE_MEDIA_SKIP_FORWARD = 272;
public static final int KEYCODE_MEDIA_STEP_BACKWARD = 275;
public static final int KEYCODE_MEDIA_STEP_FORWARD = 274;
public static final int KEYCODE_MEDIA_STOP = 86;
public static final int KEYCODE_MEDIA_TOP_MENU = 226;
public static final int KEYCODE_MENU = 82;
public static final int KEYCODE_META_LEFT = 117;
public static final int KEYCODE_META_RIGHT = 118;
public static final int KEYCODE_MINUS = 69;
public static final int KEYCODE_MOVE_END = 123;
public static final int KEYCODE_MOVE_HOME = 122;
public static final int KEYCODE_MUHENKAN = 213;
public static final int KEYCODE_MUSIC = 209;
public static final int KEYCODE_MUTE = 91;
public static final int KEYCODE_N = 42;
public static final int KEYCODE_NAVIGATE_IN = 262;
public static final int KEYCODE_NAVIGATE_NEXT = 261;
public static final int KEYCODE_NAVIGATE_OUT = 263;
public static final int KEYCODE_NAVIGATE_PREVIOUS = 260;
public static final int KEYCODE_NOTIFICATION = 83;
public static final int KEYCODE_NUM = 78;
public static final int KEYCODE_NUMPAD_0 = 144;
public static final int KEYCODE_NUMPAD_1 = 145;
public static final int KEYCODE_NUMPAD_2 = 146;
public static final int KEYCODE_NUMPAD_3 = 147;
public static final int KEYCODE_NUMPAD_4 = 148;
public static final int KEYCODE_NUMPAD_5 = 149;
public static final int KEYCODE_NUMPAD_6 = 150;
public static final int KEYCODE_NUMPAD_7 = 151;
public static final int KEYCODE_NUMPAD_8 = 152;
public static final int KEYCODE_NUMPAD_9 = 153;
public static final int KEYCODE_NUMPAD_ADD = 157;
public static final int KEYCODE_NUMPAD_COMMA = 159;
public static final int KEYCODE_NUMPAD_DIVIDE = 154;
public static final int KEYCODE_NUMPAD_DOT = 158;
public static final int KEYCODE_NUMPAD_ENTER = 160;
public static final int KEYCODE_NUMPAD_EQUALS = 161;
public static final int KEYCODE_NUMPAD_LEFT_PAREN = 162;
public static final int KEYCODE_NUMPAD_MULTIPLY = 155;
public static final int KEYCODE_NUMPAD_RIGHT_PAREN = 163;
public static final int KEYCODE_NUMPAD_SUBTRACT = 156;
public static final int KEYCODE_NUM_LOCK = 143;
public static final int KEYCODE_O = 43;
public static final int KEYCODE_P = 44;
public static final int KEYCODE_PAGE_DOWN = 93;
public static final int KEYCODE_PAGE_UP = 92;
public static final int KEYCODE_PAIRING = 225;
public static final int KEYCODE_PERIOD = 56;
public static final int KEYCODE_PICTSYMBOLS = 94;
public static final int KEYCODE_PLUS = 81;
public static final int KEYCODE_POUND = 18;
public static final int KEYCODE_POWER = 26;
public static final int KEYCODE_PROG_BLUE = 186;
public static final int KEYCODE_PROG_GREEN = 184;
public static final int KEYCODE_PROG_RED = 183;
public static final int KEYCODE_PROG_YELLOW = 185;
public static final int KEYCODE_Q = 45;
public static final int KEYCODE_R = 46;
public static final int KEYCODE_RIGHT_BRACKET = 72;
public static final int KEYCODE_RO = 217;
public static final int KEYCODE_S = 47;
public static final int KEYCODE_SCROLL_LOCK = 116;
public static final int KEYCODE_SEARCH = 84;
public static final int KEYCODE_SEMICOLON = 74;
public static final int KEYCODE_SETTINGS = 176;
public static final int KEYCODE_SHIFT_LEFT = 59;
public static final int KEYCODE_SHIFT_RIGHT = 60;
public static final int KEYCODE_SLASH = 76;
public static final int KEYCODE_SLEEP = 223;
public static final int KEYCODE_SOFT_LEFT = 1;
public static final int KEYCODE_SOFT_RIGHT = 2;
public static final int KEYCODE_SPACE = 62;
public static final int KEYCODE_STAR = 17;
public static final int KEYCODE_STB_INPUT = 180;
public static final int KEYCODE_STB_POWER = 179;
public static final int KEYCODE_SWITCH_CHARSET = 95;
public static final int KEYCODE_SYM = 63;
public static final int KEYCODE_SYSRQ = 120;
public static final int KEYCODE_T = 48;
public static final int KEYCODE_TAB = 61;
public static final int KEYCODE_TV = 170;
public static final int KEYCODE_TV_ANTENNA_CABLE = 242;
public static final int KEYCODE_TV_AUDIO_DESCRIPTION = 252;
public static final int KEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN = 254;
public static final int KEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP = 253;
public static final int KEYCODE_TV_CONTENTS_MENU = 256;
public static final int KEYCODE_TV_DATA_SERVICE = 230;
public static final int KEYCODE_TV_INPUT = 178;
public static final int KEYCODE_TV_INPUT_COMPONENT_1 = 249;
public static final int KEYCODE_TV_INPUT_COMPONENT_2 = 250;
public static final int KEYCODE_TV_INPUT_COMPOSITE_1 = 247;
public static final int KEYCODE_TV_INPUT_COMPOSITE_2 = 248;
public static final int KEYCODE_TV_INPUT_HDMI_1 = 243;
public static final int KEYCODE_TV_INPUT_HDMI_2 = 244;
public static final int KEYCODE_TV_INPUT_HDMI_3 = 245;
public static final int KEYCODE_TV_INPUT_HDMI_4 = 246;
public static final int KEYCODE_TV_INPUT_VGA_1 = 251;
public static final int KEYCODE_TV_MEDIA_CONTEXT_MENU = 257;
public static final int KEYCODE_TV_NETWORK = 241;
public static final int KEYCODE_TV_NUMBER_ENTRY = 234;
public static final int KEYCODE_TV_POWER = 177;
public static final int KEYCODE_TV_RADIO_SERVICE = 232;
public static final int KEYCODE_TV_SATELLITE = 237;
public static final int KEYCODE_TV_SATELLITE_BS = 238;
public static final int KEYCODE_TV_SATELLITE_CS = 239;
public static final int KEYCODE_TV_SATELLITE_SERVICE = 240;
public static final int KEYCODE_TV_TELETEXT = 233;
public static final int KEYCODE_TV_TERRESTRIAL_ANALOG = 235;
public static final int KEYCODE_TV_TERRESTRIAL_DIGITAL = 236;
public static final int KEYCODE_TV_TIMER_PROGRAMMING = 258;
public static final int KEYCODE_TV_ZOOM_MODE = 255;
public static final int KEYCODE_U = 49;
public static final int KEYCODE_UNKNOWN = 0;
public static final int KEYCODE_V = 50;
public static final int KEYCODE_VOICE_ASSIST = 231;
public static final int KEYCODE_VOLUME_DOWN = 25;
public static final int KEYCODE_VOLUME_MUTE = 164;
public static final int KEYCODE_VOLUME_UP = 24;
public static final int KEYCODE_W = 51;
public static final int KEYCODE_WAKEUP = 224;
public static final int KEYCODE_WINDOW = 171;
public static final int KEYCODE_X = 52;
public static final int KEYCODE_Y = 53;
public static final int KEYCODE_YEN = 216;
public static final int KEYCODE_Z = 54;
public static final int KEYCODE_ZENKAKU_HANKAKU = 211;
public static final int KEYCODE_ZOOM_IN = 168;
public static final int KEYCODE_ZOOM_OUT = 169;
/** @deprecated */
@Deprecated
public static final int MAX_KEYCODE = 84;
public static final int META_ALT_LEFT_ON = 16;
public static final int META_ALT_MASK = 50;
public static final int META_ALT_ON = 2;
public static final int META_ALT_RIGHT_ON = 32;
public static final int META_CAPS_LOCK_ON = 1048576;
public static final int META_CTRL_LEFT_ON = 8192;
public static final int META_CTRL_MASK = 28672;
public static final int META_CTRL_ON = 4096;
public static final int META_CTRL_RIGHT_ON = 16384;
public static final int META_FUNCTION_ON = 8;
public static final int META_META_LEFT_ON = 131072;
public static final int META_META_MASK = 458752;
public static final int META_META_ON = 65536;
public static final int META_META_RIGHT_ON = 262144;
public static final int META_NUM_LOCK_ON = 2097152;
public static final int META_SCROLL_LOCK_ON = 4194304;
public static final int META_SHIFT_LEFT_ON = 64;
public static final int META_SHIFT_MASK = 193;
public static final int META_SHIFT_ON = 1;
public static final int META_SHIFT_RIGHT_ON = 128;
public static final int META_SYM_ON = 4;


在上面的值中,经过简单的测试,判断出如下对应结果,例如3对应手机home键。

//功能键
public static final int KEYCODE_HOME = 3;//home键
public static final int KEYCODE_BACK = 4;//返回键
public static final int KEYCODE_VOLUME_MUTE = 164;//震动模式和响铃模式的切换
public static final int KEYCODE_TV_DATA_SERVICE = 230;//打开邮箱
public static final int KEYCODE_TV_INPUT_HDMI_1 = 243;//震动模式和响铃模式的切换
public static final int KEYCODE_TV_TERRESTRIAL_ANALOG = 235;//写短信
public static final int KEYCODE_WAKEUP = 224;//隐藏当前app,返回手机主页
public static final int KEYCODE_CALL = 5;//通讯录
public static final int KEYCODE_CAMERA = 27;//摄像头


//数字键
public static final int KEYCODE_0 = 7;//0
public static final int KEYCODE_1 = 8;//1
public static final int KEYCODE_2 = 9;//2
public static final int KEYCODE_3 = 10;//3
public static final int KEYCODE_4 = 11;//4
public static final int KEYCODE_5 = 12;//5
public static final int KEYCODE_6 = 13;//6
public static final int KEYCODE_7 = 14;//7
public static final int KEYCODE_8 = 15;//8
public static final int KEYCODE_9 = 16;//9

//字母键
public static final int KEYCODE_A = 29;//A
public static final int KEYCODE_B = 30;//B
public static final int KEYCODE_C = 31;//C
public static final int KEYCODE_D = 32;//D
public static final int KEYCODE_E = 33;//E
public static final int KEYCODE_F = 34;//F
public static final int KEYCODE_G = 35;//G
public static final int KEYCODE_H = 36;//H
public static final int KEYCODE_I = 37;//I
public static final int KEYCODE_J = 38;//J
public static final int KEYCODE_K = 39;//K
public static final int KEYCODE_L = 40;//L
public static final int KEYCODE_M = 41;//M
public static final int KEYCODE_N = 42;//N
public static final int KEYCODE_O = 43;//O
public static final int KEYCODE_P = 44;//P
public static final int KEYCODE_Q = 45;//Q
public static final int KEYCODE_R = 46;//R
public static final int KEYCODE_S = 47;//S
public static final int KEYCODE_T = 48;//T
public static final int KEYCODE_U = 49;//U
public static final int KEYCODE_V = 50;//V
public static final int KEYCODE_W = 51;//W
public static final int KEYCODE_X = 52;//X
public static final int KEYCODE_Y = 53;//Y
public static final int KEYCODE_Z = 54;//z

//符号
public static final int KEYCODE_AT = 77;//@
public static final int KEYCODE_BACKSLASH = 73;//、
public static final int KEYCODE_COMMA = 55;//,
public static final int KEYCODE_EQUALS = 70;//=
public static final int KEYCODE_MINUS = 69;//-
public static final int KEYCODE_NUMPAD_ADD = 157;//+
public static final int KEYCODE_NUMPAD_COMMA = 159;//,
public static final int KEYCODE_NUMPAD_DIVIDE = 154;// /

你可能感兴趣的:(android)