转载自:http://blog.csdn.net/up7cr/article/details/50577559
大家可能会遇到这样的情景:
# 也许你是一个通过App的销售人员,需要不断靠App的点击率来拿利润
# 也许你是一个个人开发者,想要自己写个脚本点击banner广告
# 也许你是一个业务经理,你的API是应用内某模块点击率超过X万次
…………
那么你就可以来看看这篇帖子了。
言归正传
利用bat脚本模拟用户操作,需要用到两点:
①就是adb命令了,adb命令可以用来模拟用户在手机上的操作
②bat语言,就是批处理语言,主要用来进行逻辑处理,跟众多语言语法一样,批处理语言也包括for循环、if语句之类的语法;
一、adb命令
首先我们来介绍模拟用户在手机上操作的adb命令
input keyevent //发送键盘事件~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~用法说明:
adb shell input keyevent “value”
usage: input ... input text //在EditText中输入字符串 input keyevent //模拟back键、home键、音量键等操作 input tap//模拟点击事件 input swipe //模拟滑动事件
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
看看上面的这四个命令是不是已经满足你日常使用了呢?
先列举 input keyevent 几个比较常用的code值:
input keyevent 3 // Home
input keyevent 4 // Back
input keyevent 19 //Up
input keyevent 20 //Down
input keyevent 21 //Left
input keyevent 22 //Right
input keyevent 23 //Select/Ok
input keyevent 24 //Volume+
input keyevent 25 // Volume-
input keyevent 82 // Menu 菜单
下面来举个栗子:
①你可以先进入到adb shell中,再执行input keyevent "value",如下,看看是不是执行了home键的操作呢:
[html] view plain copy shell@android:/ $ input keyevent 3 ②你也可以不进入adb shell中,直接执行(在bat脚本中写的时候当然要用这种啦~),如下:
[html] view plain copy adb shell input tap 143 1850 //这是点击了横坐标为143、纵坐标为1850的像素点 [html] view plain copy adb shell input swipe 200 100 444 666 //这是从坐标点(200,100)滑动到了坐标(444,666)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
【快速获取想要点击图标像素点的技巧:】想要点击某个button,但是怎么快速获取该button的像素位置呢?
一般Android在[设置--高级设置--开发者选项]中,或者[设置--开发人员选项]中,有“指针位置”这一项,打开该开关
如上图,方框的位置就是你所点击的区域坐标点,注意,原坐标[0, 0]就是手机屏幕的左上角。
还有一点,如果你在屏幕滑动了一段距离,你想知道滑动距离的坐标数值差,也可以看到:
就是上图中的红色数值,[dX, dY]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
二、bat语言,批处理语言
1,基础语法
①.批处理文件是一个“.bat”结尾的文