Monkey小结

什么是monkey?
Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。

Monkey的特征
测试的对象仅为应用程序包,有一定的局限性。
Monkey测试使用的事件流数据流是随机的,不能进行自定义。
可对Monkey test的对象,事件数量,类型,频率等进行设 置。

Monkey的基本用法
基本语法如下:
PC启动:> adb shell monkey [options] <count>
其中:[] 表示为可选;<>表示为必选,此种启 动运行后的测试结果可直接保存在PC端
Shell端启动: >adb shell #monkey [options] <count>
如果不指定options,Monkey将以无反馈模式启动,并把事件任意发送到安装在目标环境中的全部包。下面是一个更为典型的命令行示例,它启动指定的应用程序,并向其发送500个伪随机事件:
$ adb shell monkey -p your.package.name -v 500

查看data/data文件夹下的应用程序包,若无权查看则使用以下命令:
adb shell su -c "chmod 777 /data"adb shell su -c "chmod 777 /data/data"ls data/data
保存monkey运行的log
保存在PC中    adb shell monkey [option] <count> > d:\monkey.txt
.保存在手机中  monkey [option] <count> > /mnt/sdcard/monkey.txt
标准流与错误流分开保存
monkey [option] <count> 1> /mnt/sdcard/monkey.txt 2> /mnt/sdcard/error.txt

调试选项
--dbg-no-events:初始化启动的activity,但是不产生任何事件。--hprof:指定该项后在事件序列发送前后会立即生成分析报告  —— 一般建议指定该项。--ignore-crashes:忽略崩溃--ignore-timeouts:忽略超时--ignore-security-exceptions:忽略安全异常--kill-process-after-error:发生错误后直接杀掉进程--monitor-native-crashes:跟踪本地方法的崩溃问题--wait-dbg:知道连接了调试器才执行monkey测试。
查看monkey帮助命令
adb shell monkey –help
adb shell pm list packages 列出所有安装到Android手机上应用的包名
查看出monkey的进程
adb shell ps | find “monkey“, kill 进程:adb shell kill 进程编号

实例
产生时间序列的种子值:500忽略程序崩溃 、 忽略超时 、 监视本地程序崩溃 、 详细信息级别为2 , 产生 10000个事件 。
adb shell monkey -p com.jrj.tougu -s 500 --ignore-crashes --ignore-timeouts --monitor-native-crashes -v -v 10000 > E:\monkey_log\java_monkey_log.txt

随机种子 -S
adb shell monkey -p com.dabai.app.im -s 100 -v -v 100   (-S后面的100是随机序列号也就是对应seed编号名称,-V后面的100代表的是运行次数)下次如果还要查看该seed的执行过程,就在-s后面加100即可
 
固定延时 --throttle<毫秒>
adb shell monkey -p com.dabai.app.im --throttle 200 -v -v 100
随机延时 --randomize-throttle
adb shell monkey -p com.dabai.app.im --throttle 200 --randomize-throttle -v -v 100      (这句话的意思是0-200毫秒的随机延时)
touch    点击事件 
adb shell monkey -p com.dabai.app.im --pct-touch 100--throttle 200 --randomize-throttle -v -v 100   (--pct是百分比的简称,touch后面跟的100 意思是 100%的操作都是执行这个touch)

motion    移动事件
adb shell monkey -p com.dabai.app.im --pct-motion 100--throttle 200 --randomize-throttle -v -v 100 
trackball 轨迹球事件
adb shell monkey -p com.dabai.app.im --pct-trackball 100--throttle 200 --randomize-throttle -v -v 100 
nav 导航时事件(上下左右键的意思)
adb shell monkey -p com.dabai.app.im --pct-nav 100--throttle 200 --randomize-throttle -v -v 100 
majornav 主要导航事件
adb shell monkey -p com.dabai.app.im --pct-majornav 100--throttle 200 --randomize-throttle -v -v 100 

Adb 基本命令
adb push d:\whitelist.txt /data/local/tmp/
Adb pull /mnt/sdcard/monkey.txt d:monkey.txt
adb install apk名称 //安装Android应用程序
adb uninstall 包名 //卸载android应用程序
aapt dump badging apk 名称 //查看apk 包名
adb shell pm list packages //查看已安装在手机或者模拟器上的android应用程序
adb shell am start -w com.tencent.mm/com.tencent.mm.ui.LauncherUI
//查看apk启动时间

觉得赞的请打赏大笑

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值