android 脚本模拟点击屏幕

对低概率问题,需要多次测试以复现问题,使用脚本更容易实现,避免频繁人工操作

首先要了解手机的众多输入设备:

命令:adb shell cat /proc/bus/input/devices/

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="qpnp_pon"
P: Phys=qpnp_pon/input0
S: Sysfs=/devices/virtual/input/input0
U: Uniq=
H: Handlers=event0 
B: PROP=40
B: EV=3
B: KEY=14000000000000 0

I: Bus=0018 Vendor=0000 Product=0000 Version=0000
N: Name="qcom-tpd"
P: Phys=
S: Sysfs=/devices/soc/78b7000.i2c/i2c-3/3-0038/input/input1
U: Uniq=
H: Handlers=mdss_fb kgsl event1 
B: PROP=2
B: EV=b
B: KEY=ff000000000000 0 0 0 0 0 400 0 0 0 160000000000 4004001400000
B: ABS=261800000000000

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="gf5216"
P: Phys=
S: Sysfs=/devices/virtual/input/input2
U: Uniq=
H: Handlers=event2 
B: PROP=0
B: EV=3
B: KEY=2000000040000800 1016c000000008 0

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="qwerty"
P: Phys=
S: Sysfs=/devices/virtual/input/input3
U: Uniq=
H: Handlers=event3 
B: PROP=0
B: EV=3
B: KEY=2000000040000800 1016c000000008 0

I: Bus=0019 Vendor=0001 Product=0001 Version=0100
N: Name="gpio-keys"
P: Phys=gpio-keys/input0
S: Sysfs=/devices/soc/soc:gpio_keys/input/input4
U: Uniq=
H: Handlers=event4 
B: PROP=0
B: EV=3
B: KEY=4000000000000000 0 0 10000 0 0 0 0 0 0 8000000000000 0

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="msm8952-snd-card-mtp Headset Jack"
P: Phys=ALSA
S: Sysfs=/devices/soc/c051000.sound/sound/card0/input5
U: Uniq=
H: Handlers=event5 
B: PROP=0
B: EV=21
B: SW=3c0d4

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="msm8952-snd-card-mtp Button Jack"
P: Phys=ALSA
S: Sysfs=/devices/soc/c051000.sound/sound/card0/input6
U: Uniq=
H: Handlers=event6 
B: PROP=40
B: EV=3
B: KEY=e0 400000000 0 c000000000000 0

对应输入设备的Name匹配我们需要使用的设备信息,

I: Bus=0018 Vendor=0000 Product=0000 Version=0000
N: Name="qcom-tpd"
P: Phys=
S: Sysfs=/devices/soc/78b7000.i2c/i2c-3/3-0038/input/input1
U: Uniq=
H: Handlers=mdss_fb kgsl event1 
B: PROP=2
B: EV=b
B: KEY=ff000000000000 0 0 0 0 0 400 0 0 0 160000000000 4004001400000
B: ABS=261800000000000

发现给设备对应tp。

命令:adb shell getevent /dev/input/event1

输入该命令后,做点击屏幕操作,这里我们以点击拍照为例:

终端输出:

0003 0039 00000000
0003 0030 00000003
0003 0035 00000163
0003 0036 00000476
0001 014a 00000001
0000 0000 00000000
0003 0030 00000004
0000 0000 00000000
0001 014a 00000000
0000 0000 00000000

注意:点击不同的点会输出不同的信息,这里的输出对应这点击事件的具体信息,我们之需要在脚本中做写下相同的命令既可以实现同样的操作

下面开始写脚本使用sendevent命令(这里需要注意的是,上买你的输出为十六进制,需要自行转换成十进制):

sendevent /dev/input/event1 0003 57 00000000
sendevent /dev/input/event1 0003 48 00000003
sendevent /dev/input/event1 0003 53 355
sendevent /dev/input/event1 0003 54 1142
sendevent /dev/input/event1 0001 330 00000001
sendevent /dev/input/event1 0000 0000 00000000
sendevent /dev/input/event1 0003 48 00000004
sendevent /dev/input/event1 0000 0000 00000000
sendevent /dev/input/event1 0001 330 00000000
sendevent /dev/input/event1 0000 0000 00000000

写完脚本touch.sh文件

使用命令afb push touch.sh /sdcard/把脚本导入手机

然后执行adb shell sh /sdcard/touch.sh

确认手机是否会出现同样操作

根据这个步骤也可以尝试写一些相关其他设备的输入,当我们需要重复点击时,之需要在脚本写个循环就可以实现自动压力测试了

 

 

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值