因为最近做的项目,模块在进入和退出时,容易弹出“不响应”的提示框,为了测试模块进入退出时的稳定性,所以做了测试程序,专门针对进入退出进行测试。
这个测试要求shell脚本、monkey、以及测试的apk进行配合,测试apk要求进入模块后,短时间内自动退出模块,这里就不给出apk了。
monkey 最简单的写法是:
表示对 -p 后的软件包的app 进行50 次完全随机的测试。
monkey会随机的生成50次事件,输出中将依次列出所产生的随机事件。
脚本如下:
注意:android自带的sh,貌似不够强大,脚本要在安装了busybox的环境中才可以正常运行,关于busybox可以参考http://blog.youkuaiyun.com/victoryckl/article/details/7199901
monkey_test.sh
#!/system/bin/sh
COUNTER=0
while [ $COUNTER -lt 100 ]
do
COUNTER=`expr $COUNTER + 1`
echo $COUNTER
monkey -p org.ckl.nativetimer -v 50
done
这里给定的是循环100次,可以视情况修改。
monkey_start.sh
#!/system/bin/sh
chmod 777 /data/local/*
/data/local/monkey_test.sh 2>&1 | tee /mnt/sdcard/monekylog.txt &
logcat 2>&1 | tee /mnt/sdcard/logcat.txt &
启动monkey测试的语句是
/data/local/monkey_test.sh
紧接着的部分作用是将输出重定向,既可以输出到shell窗口,又可以保存到文件monkeylog.txt
2>&1 | tee /mnt/sdcard/monekylog.txt
最后的 &,表示后台运行,这样才可以执行下一句,将logcat的打印消息输出到文件logcat.txt,便于查看。
logcat 2>&1 | tee /mnt/sdcard/logcat.txt &
adb push monkey_start.sh /data/local
adb push monkey_test.sh /data/local
adb shell
chmod 777 /data/local/*
/data/local/monkey_start.sh &