不废话 直接上货!
monkey是android系统里自带的程序,位置:/sdk/tools/lib/monkey.jar,monkey.jar是由一个monkey的shell脚本执行,脚本路径是/sdk/tools/bin/monkey;
因此可以在shell环境下直接执行monkey。(注意配置环境)
官方的货可以直接adb shell monkey -help 查看:
monkey -p com.youku.phone --ignore-crashes --ignore-timeouts --ignore-security-exceptions --kill-process-after-error -v -v -v --throttle 500 50000 > /mnt/sdcard/monkeypack.log 2>&1 &
com.youku.phone 是优酷的包名 你想测什么app 你可以下载一个报名查看器
也可以 adb shell
ls data/data //这个貌似要求手机越狱
-p 是用来对指定app进行测试的一个限制,monkey只会运行-p后面的包,如果没有-p,monkey会默认随机运行所有的app
adb shell monkey -p comg.android.mms 100 //意思是随机向短信app发送100 的随机事件
-v 是用来反馈信息的级别的 默认级别是0
adb shell monkey -p com.android.mms -v 100 //可以对比下-v -v 和 -v -v -v打印信息的详细情况。
Monkey Test执行过程中在下列三种情况下会自动停止:
1、如果限定了Monkey运行在一个或几个特定的包上,那么它会监测试图转到其它包的操作,并对其进行阻止。
2、如果应用程序崩溃或接收到任何失控异常,Monkey将停止并报错。
3、如果应用程序产生了应用程序不响应(application not responding)的错误,Monkey将会停止并报错。
--ignore-crashes --ignore-timeouts --ignore-security-exceptions --kill-process-after-error
这些其实就是让mongkey碰到类似crash ,timeout也能正常跑下去
--throttle <毫秒> 这个是延长反应时间的 单位是毫秒 具体可自己更改数字体验
/mnt/sdcard/monkeypack.log 2>&1 & 在手机sdcard上生成一个monkeypack.log的文件,可以跑出来查看结果
停止monkey
ps com
kill <monkey PID> //ps com里打印出来的以.monkey结尾的PID