android adb点击坐标,android 使用shell command实现对设备控制,实现按坐标点击

目的:实现自动化测试,

方法:使用adb shell命令。

难点,factory无法使用sendkey event 执行, 需要使用sendevent按照坐标点击.

虽然是dev下的文件是设备,但是实时的数据是在/proc/这个目录下对应的文件里。

解决难点过程,使用cat /proc/bus/input/devices > log.txt 活得设备输入信息。

从设备的信息中可以看出触摸屏lm75对应的设备input0(name为lm75的设备,Handlers对应的是event0)

然后查看/dev/input/event0的记录信息。

然后把输入信息解析成10进制 ,然后发送给设备, 如下。

self.extDevice.shellCommand("sendevent /dev/input/event0 3 48 88")

self.extDevice.shellCommand("sendevent /dev/input/event0 3 50 10")

self.extDevice.shellCommand("sendevent /dev/input/event0 3 53 908")

self.extDevice.shellCommand("sendevent /dev/input/event0 3 54 884")

self.extDevice.shellCommand("sendevent /dev/input/event0 0 2 0")

self.extDevice.shellCommand("sendevent /dev/input/event0 0 0 0")

self.extDevice.shellCommand("sendevent /dev/input/event0 0 2 0")

self.extDevice.shellCommand("sendevent /dev/input/event0 0 0 0")

大功搞成。(well done.)

参考过文档如下:

android手机上sendevent的命令在一些手机上失效, 比如htc wildfire貌似使用sendevent的ball事件就没有响应, 在nexus one上ball event ok,但touch event fail... pity, 有没有解决的办法?

我也遇到这个问题,好像back键都不起作用:

adb shell sendevent dev/input/event0 1 158 1

adb shell sendevent dev/input/event0 1 158 0

adb shell sendevent /dev/input/event2 1 330 1

adb shell sendevent /dev/input/event2 3 48 18

adb shell sendevent /dev/input/event2 3 50 1

adb shell sendevent /dev/input/event2 3 53 210 //x 坐标

adb shell sendevent /dev/input/event2 3 54 200 //y 坐标

adb shell sendevent /dev/input/event2 0 2 0

adb shell sendevent /dev/input/event2 0 0 0

adb shell sendevent /dev/input/event2 1 330 0

adb shell sendevent /dev/input/event2 0 2 0

adb shell sendevent /dev/input/event2 0 0 0

题的缘由是有个自动化测试的需求,我需要写脚本模拟点击触摸屏的一系列操作,以代替手工测试(话说~遇上连续启动1000次camera并且拍照后 退出这种变态测试,你们都是怎么做的?)。以此来证明:头儿,此bug真的解了!

Linux上可以通过sendEvent来模拟键盘或者鼠标点击事件,而Android是 基于Linux2.6的,所以也可以模拟点击事件。网络文章很多都给出这样一段数据信息,告诉你怎么去实现模拟点击:

需要注意输入设备, 和输入据类型。我的是device0 十进制

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值