微博不给力啊 吞我笔记,还好我有txt。。。
1、环境准备:安装Android sdk,
配置环境变量:platfrom_tools,tools,aapt;java;
2、查询当前apk信息: aapt dump badging XXXX.apk
apk包名:
package: name='tv.fuzegame.fuzegameplus' versionCode='12' versionName='1.0.0'
启动界面:
launchable-activity: name='tv.fuzegame.fuzegameplus.ui.activities.HomeActivity' label='鎴樻枾娓告垙+' icon=''
3、编辑monkey脚本:执行XX应用1k次;
adb shell monkey -v -v -p tv.fuzegame.fuzegameplus 1000
执行XX应用1k次,间隔时间200ms
adb shell monkey -v -v -p tv.fuzegame.fuzegameplus --throttle 200 1000
4、如果有错误,可以重复执行时间序列
adb shell monkey -v -v -p tv.fuzegame.xxx -s 123456 1000
日志在G:Monkey20160526(bat批处理文件的同个文件夹内)log.txt中,有seed
adb shell monkey -p tv.fuzegame.fuzegameplus --throttle 20 1000"
:Monkey: seed=1465356797604 count=1000
5、查看签名:
1、将apk放在文件夹G:1下
2、打开1文件夹,执行语句:jar -xf [apk的meta-inf文件(可以将apk的后缀改成zip,将RSA文件拖出来)]
3、执行语句 keytool -printcert -file XXXXXXXX.RSA
eg:
C:UsersAdministrator>g:
G:>cd 1
G:1>jar -xf G:1FuzeApp-release.apk META-INF
G:1>REN META-INF FuzeApp-release_META-INF
G:1>keytool -printcert -file G:1FuzeApp-release_META-INFCERT.RSA
6、安全检查,当前apk是否处于debug版本
查找 debug XXX true
对tv.fuzegame.xxx发送1000次随机事件,每次间隔100毫秒
adb shell monkey -v -v -p tv.fuzegame.xxx --throttle 100 1000
对tv.fuzegame.xxx快速发送1000次随机事件
adb shell monkey -v -v -p tv.fuzegame.xxx 1000
对tv.fuzegame.xxx重复上次123456事件序列,发送1000次随机事件
adb shell monkey -v -v -p tv.fuzegame.xxx -s 123456 1000
二、参数解释
monkey 启动的命令行脚本格式: monkey [options] <count>
其中options表示monkey执行的可配置参数,是可选项。
基本配置:
-v :表示反馈信息的级别,每增加一个-v,monkey日志反馈信息的级别会对应增加一个level
e.g -v 除启动提示、测试完成和最终结果外,提供较少信息;
-v -v 提供较为详细的测试信息,如逐个发送到activity的事件
-v-v-v 提供更详细的测试信息,包括未被选中的activity
事件类型:
太多了懒得一一列出来,操作延迟、触摸、缩放、系统按键、键盘等等
e.g
1.-s<seed> ,重复跑一遍之前的某个事件,(每一次执行都会自动生成一个序列,如果出现问题,就拎出这个序列 撸一遍)
2. --throttle ,设置操作间隔,更贴近用户实际使用情况;
约束限制类型:
-p 限定只在哪个/哪几个package里面瞎搞;
-c 不知道什么玩意。。。
调试类参数:
一大堆啊懒得列了
e.g
--ignore-crashes 无视crash
--ignore-timeouts 无视timeouts
官方隐藏类
e.g
--pkg-blacklist-file <黑名单文件>
--pkg-whitelist-file <白名单文件>
1.编辑脚本:monkeyscript.txt
#启动测试
type = user
count = 49
speed = 1.0
start data >>
LaunchActivity(com.tencent.android.qqdownloader,com.tencent.assistant.activity.SplashActivity)
UserWait(2000)
Tap(463,150,1000)
UserWait(2000)
DispatchString(yyb)
UserWait(2000)
Tap(960,150,1000)
DispatchPress(KEYCODE_BACK)
2. 传入手机
adb push D:monkeyscript.txt /sdcard/
3.执行
adb shell monkey -f /sdcard/monkeyscript.txt -v 10 >d:monkey.txt
4.查看d盘的日志
存疑,似乎不能自动启动应用