【android測試】命令行向android手機發送事件

 

test.bat內容以下:android

adb shell am start -n com.tencent.news/com.tencent.news.activity.SplashActivity
::在x向座標0000009五、y向座標00000007的位置點擊屏幕,並保持按下狀態
CHOICE /T 5 /C yc /D y /n
adb shell sendevent /dev/input/event0 0003 0000 00000095
adb shell sendevent /dev/input/event0 0003 0001 00000007
adb shell sendevent /dev/input/event0 0001 014a 00000001
::保持y向座標不變,沿00000055到00000010的x向路徑橫向滑動
adb shell sendevent /dev/input/event0 0003 0000 00000055
adb shell sendevent /dev/input/event0 0000 0000 00000000
::結束按下狀態
adb shell sendevent /dev/input/event0 0001 014a 00000000
::發送一個菜單鍵值,調起菜單
adb shell input keyevent 1
::發送一個Back鍵值,收回菜單
adb shell input keyevent 4
::再發送一個Back鍵值
adb shell input keyevent 4
pause

 

幫助文檔:shell

#在Galaxy Nexus手機上幫助文檔以下:
C:\Users\beijing_zbs>adb shell
shell@maguro:/ $ input
input
Usage: input [<source>] <command> [<arg>...]

The sources are:
      trackball
      joystick
      touchnavigation
      mouse
      keyboard
      gamepad
      touchpad
      dpad
      gesture
      stylus
      touchscreen

The commands and default sources are:
      text <string> (Default: touchscreen)
      keyevent [--longpress] <key code number or name> ... (Default: keyboard)
      tap <x> <y> (Default: touchscreen)
      swipe <x1> <y1> <x2> <y2> [duration(ms)] (Default: touchscreen)
      press (Default: trackball)
      roll <dx> <dy> (Default: trackball)

      
#在有些手機上幫助文檔只有以下這些:
C:\Users\beijing_zbs>adb shell
shell@android:/ $ input
input
usage: input ...
       input text <string>
       input keyevent <key code number or name>
       input [touchscreen|touchpad] tap <x> <y>
       input [touchscreen|touchpad] swipe <x1> <y1> <x2> <y2>
       input trackball press
       input trackball roll <dx> <dy>

 

說明:code

1. keyevent指的是android對應的keycode,好比home鍵的keycode=3,back鍵的keycode=4.事件

而後使用的話比較簡單,好比想模擬home按鍵:ip

adb shell input keyevent 3文檔

請查閱上述文章,根據具體keycode編輯便可。input

 

2. 關於tap的話,他模擬的是touch屏幕的事件,只需給出x、y座標便可。string

此x、y座標對應的是真實的屏幕分辨率,因此要根據具體手機具體看,好比你想點擊屏幕(x, y) = (250, 250)位置:it

adb shell input tap 250 250io

 

3. 關於swipe同tap是同樣的,只是他是模擬滑動的事件,給出起點和終點的座標便可。例如從屏幕(250, 250), 到屏幕(300, 300)即

adb shell input swipe 250 250 300 300

範例:

1,模擬輸入文本信息:input text HelloWorld

2.模擬物理按鍵操做: input keyevent KEYCODE_VOLUME_DOWN

3.模擬點擊操做:input tap 500 500

4.模擬滑動操做:input swipe 200 500  400 500

5.模擬軌跡球操做

0 -->  "KEYCODE_UNKNOWN" 1 -->  "KEYCODE_MENU" 2 -->  "KEYCODE_SOFT_RIGHT" 3 -->  "KEYCODE_HOME" 4 -->  "KEYCODE_BACK" 5 -->  "KEYCODE_CALL"  6 -->  "KEYCODE_ENDCALL"  7 -->  "KEYCODE_0"  8 -->  "KEYCODE_1"  9 -->  "KEYCODE_2"  10 -->  "KEYCODE_3" 11 -->  "KEYCODE_4"  12 -->  "KEYCODE_5"  13 -->  "KEYCODE_6"  14 -->  "KEYCODE_7"  15 -->  "KEYCODE_8"  16 -->  "KEYCODE_9"  17 -->  "KEYCODE_STAR"  18 -->  "KEYCODE_POUND"  19 -->  "KEYCODE_DPAD_UP"  20 -->  "KEYCODE_DPAD_DOWN"  21 -->  "KEYCODE_DPAD_LEFT"  22 -->  "KEYCODE_DPAD_RIGHT" 23 -->  "KEYCODE_DPAD_CENTER" 24 -->  "KEYCODE_VOLUME_UP"  25 -->  "KEYCODE_VOLUME_DOWN"  26 -->  "KEYCODE_POWER"  27 -->  "KEYCODE_CAMERA"  28 -->  "KEYCODE_CLEAR"  29 -->  "KEYCODE_A"  30 -->  "KEYCODE_B"  31 -->  "KEYCODE_C"  32 -->  "KEYCODE_D"  33 -->  "KEYCODE_E"  34 -->  "KEYCODE_F"  35 -->  "KEYCODE_G"  36 -->  "KEYCODE_H"  37 -->  "KEYCODE_I"  38 -->  "KEYCODE_J"  39 -->  "KEYCODE_K"  40 -->  "KEYCODE_L"  41 -->  "KEYCODE_M" 42 -->  "KEYCODE_N"  43 -->  "KEYCODE_O"  44 -->  "KEYCODE_P"  45 -->  "KEYCODE_Q"  46 -->  "KEYCODE_R"  47 -->  "KEYCODE_S"  48 -->  "KEYCODE_T"  49 -->  "KEYCODE_U"  50 -->  "KEYCODE_V"  51 -->  "KEYCODE_W"  52 -->  "KEYCODE_X" 53 -->  "KEYCODE_Y"  54 -->  "KEYCODE_Z"  55 -->  "KEYCODE_COMMA"  56 -->  "KEYCODE_PERIOD" 57 -->  "KEYCODE_ALT_LEFT"  58 -->  "KEYCODE_ALT_RIGHT"  59 -->  "KEYCODE_SHIFT_LEFT"  60 -->  "KEYCODE_SHIFT_RIGHT"  61 -->  "KEYCODE_TAB"  62 -->  "KEYCODE_SPACE"  63 -->  "KEYCODE_SYM"  64 -->  "KEYCODE_EXPLORER"  65 -->  "KEYCODE_ENVELOPE"  66 -->  "KEYCODE_ENTER"  67 -->  "KEYCODE_DEL"  68 -->  "KEYCODE_GRAVE"  69 -->  "KEYCODE_MINUS"  70 -->  "KEYCODE_EQUALS"  71 -->  "KEYCODE_LEFT_BRACKET"  72 -->  "KEYCODE_RIGHT_BRACKET"  73 -->  "KEYCODE_BACKSLASH" 74 -->  "KEYCODE_SEMICOLON"  75 -->  "KEYCODE_APOSTROPHE" 76 -->  "KEYCODE_SLASH"  77 -->  "KEYCODE_AT"  78 -->  "KEYCODE_NUM"  79 -->  "KEYCODE_HEADSETHOOK"  80 -->  "KEYCODE_FOCUS" 81 -->  "KEYCODE_PLUS" 82 -->  "KEYCODE_MENU" 83 -->  "KEYCODE_NOTIFICATION" 84 -->  "KEYCODE_SEARCH"  85 -->  "TAG_LAST_KEYCODE" 

相關文章
相關標籤/搜索