【android测试】命令行向android手机发送事件


test.bat内容如下:

adb shell am start -n com.tencent.news/com.tencent.news.activity.SplashActivity
::在x向坐标00000095、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

帮助文档:

#在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>

说明:

1. keyevent指的是android对应的keycode,比如home键的keycode=3,back键的keycode=4.

然后使用的话比较简单,比如想模拟home按键:

adb shell input keyevent 3

请查阅上述文章,根据具体keycode编辑即可。


2. 关于tap的话,他模拟的是touch屏幕的事件,只需给出x、y坐标即可。

此x、y坐标对应的是真实的屏幕分辨率,所以要根据具体手机具体看,比如你想点击屏幕(x, y) = (250, 250)位置:

adb shell input tap 250 250


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.模拟轨迹球操作


你可能感兴趣的:(【android测试】命令行向android手机发送事件)