(Android) Monkey

来源:互联网 发布:nba历史最强中锋知乎 编辑:程序博客网 时间:2024/05/20 15:40

Android Monkey

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。

 


原创粉丝点击