For Android 2.3.4
adb push logtosdv2.sh /data/
./logtosdv2.sh &
logtosdv2.sh:
#!/system/bin/sh echo "start============================================="
FileName=$(date +%Y%m%d_%H-%M-%S) logcat=logcat_$FileName
while (()) do logcat -v time -d >> /sdcard/$logcat.log sleep 1 logcat -v time -c sleep 10 done
echo "end===============================================" |
将monkey产生的log输入到/sdcard下
Monkeycommand:
monkey -v--ignore-timeouts --ignore-crashes --ignore-security-exceptions -s 100--throttle 500 1000000
Monkey focuson Soundrecorder:
monkey -v--ignore-timeouts --ignore-crashes --ignore-security-exceptions -p com.android.soundrecorder-s 100 --throttle 500 1000000
Statuscommand:
1) dumpsys meminfo
2) procrank
3) cat /data/anr/traces.txt
4) bugreport
Monkey Test执行过程中在下列三种情况下会自动停止:
1、如果限定了Monkey运行在一个或几个特定的包上,那么它会监测试图转到其它包的操作,并对其进行阻止。
2、如果应用程序崩溃或接收到任何失控异常,Monkey将停止并报错。
3、如果应用程序产生了应用程序没有响应(applicationnot responding)的错误,Monkey将会停止并报错。
通过多次并且不同设定下的Monkey测试才算它是一个稳定性足够的程序。
既然是初步探索,monkey原本是有一个monkey.jar文件。存放在android系统的/system/framework/下面,只不过我们使用adb monkey命令的时候系统调用了一样一个封装好的程序。当然提到使用,必定要知道其是怎么生成的。其实很简单,在android源代码目录下,linux下面cmd直接make monkey,即会在/out/target/product/generic/system/framework(Android 4.0)出现一个monkey.jar文件。然后只要push到android手机的system/framework/目录下面即可调用。
/generic is the Android Device.
Build Android 4.0 monkey should use Oracle jdk 1.6,not openjdk 1.6.
adb shell monkey -v --ignore-timeouts--ignore-crashes --ignore-security-exceptions -p packagename --throttle 300 10000
每300毫秒一个动作一共10000个动作。
adb logcat tagname:* >d:/log
将log存到指定路径下。主要看是否有异常。
tagname 可以为packagename。