Android稳定性测试利器-Monkey参数及实例介绍

本文章转载于搜狗测试

上一篇已经向大家介绍了什么是monkey以及monkey运行环境的搭建,本文主要向大家介绍一下monkey命令的参数以及实例解析一个可以循环进行压力测试并且记录崩溃信息的monkey脚本。

一、Monkey命令参数

Monkey常用命令参数如下:

参数:

-v :用于指定反馈信息级别(信息级别就是日志的详细程度),可以在命令行中出现多次,每一个-v选项都会增加monkey向命令行打印输出的详细级别。总共分3个级别:命令行中出现一个-v表示仅提供启动提示、测试完成和最终结果等少量信息;命令行中出现两个-v表示提供较为详细的日志,包括每个发送到Activity的事件信息;命令行中出现三个-v表示最详细的日志,包括了测试中选中/未选中的Activity信息

-s :用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件也相同。

--throttle <毫秒>:用于指定事件之间的时延,单位是毫秒

--pct-touch<百分比>:设置触摸事件的百分比

--pct-motion<百分比>:设置滑动事件的百分比

--pct-trackball<百分比>:设置跟踪事件的百分比

--pct-nav<百分比>:调整“基本”导航事件的百分比(导航事件是来自方向输入设备的up/down/left/right组成)

--pct-majornav<百分比>:设置“主要”导航事件的生成比例。指能导致UI产生回馈的事件,ps:单击方向键中的中间键,back键,菜单键。

--pct--appswitch<百分比> :设置启动Activity的百分比。在随机间隔里,Monkey将执行一个startActivity()调用,作为最大程度覆盖包中全部Activity的一种方法

--pct-anyevent<百分比> :设置系统按键消息的比例,系统中保留的按键消息,如:首页(home)、后退(back)、拨号、挂断、音量控制键

约束条件:

-p<允许的包名列表> :用于约束限制,用此参数指定一个或多个应用程序的包名

调试信息:

--hprof :设置此项,将在monkey事件序列之前和之后立即生成profilling报告,既性能报告。

--ignore-crashes :当应用程序崩溃或发生任何失控异常时,Monkey将停止运行。如果设置此选项,Monkey将继续向系统发送事件,直到计数完成。

--kill-process-after-error :这个选项可以通知系统当应用发生错误时杀掉进程。

-monitor-native-crashes :监视并报告Android系统中本地代码的崩溃事件。如果设置了–kill-process-after-error,系统将停止运行。

--wait-dbg :启动monkey后,先中断其运行,等待调试器附加上来。

二、搜狗手机浏览器Monkey测试脚本举例

搜狗手机浏览器会经常使用到monkey脚本进行应用的压力测试,执行批处理文件后会将崩溃log统计在特定的目录下,第二天上班时测试人员将崩溃log进行分析并报bug给开发。生成批处理执行文件的python脚本源码地址:https://github.com/sogouauto/sogouqa/blob/master/Python/monkey%20cmd.py

运行上述Python脚本后的操作步骤如下:

1.首先需要pc端已安装python环境。

2.    手机连接电脑,运行python脚本。

3.脚本会检测到当前PC 链接了几台手机,如果只连接了一台就不需要选择设备,输入你要生成的批处理文件名。如下图:

4.    此时在和python脚本同目录下会生成”文件名.cmd”的批处理文件。

5.    运行批处理文件,开始monkey自动化稳定性测试。

6.    monkey执行过程中的log信息会记录在D盘的根目录下并随机生成数字形式的文件名。

生成的monkey批处理脚本内容如下:

1、:loop

2、adb -s 4df1f87d5cfc5fbb shell monkey  -p sogou.mobile.explorer --monitor-native-crashes  --pct-touch 80 --pct-motion 15 --pct-nav 5 -s %random% -v  --throttle 500 320000

>d:\1\%random%.log

3、@ping -n 15 127.1 >nul

4、adb -s 4df1f87d5cfc5fbb reboot

5、@ping -n 120 127.1 >nul

6、@goto loop

生成的批处理脚本说明:

1、设置循环标记

2、根据手机设备号选择对应的手机运行monkey脚本,此命令为monkey的操作命令,具体含义如下:

-p sogou.mobile.explorer:执行sogou.mobile.explorer程序包,在这里可以更 改要测试的应用程序包名。

--monitor-native-crashes:监控崩溃事件

--pct-touch 80 --pct-motion 15 --pct-nav 5:触屏事件占80%,动作事件占15% ,导航事件占5%。

-s %random%:如果-s后面的值相同,那么再次运行monkey时会生成相同的时间 序列,加上%random%,(%random%既生成一个0-32767之间的任一一个数,是为了避免进行重复的操作动作。

--throttle 500 320000: --throttle插入固定的延迟,通过这个参数用来减缓monkey的执行速度。

>d:\%random%.log:崩溃log的保存路径。

3、@ping -n 15 127.1 >nul:设置脚本运行的延迟时间

4、adb -s 4df1f87d5cfc5fbb reboot:重启设备

5、@ping -n 120 127.1 >nul:设置脚本运行的延迟时间

6、@goto loop:执行循环操作

上述批处理文件可以执行设定好的adb shell monkey命令,按照随机生成的事件序列进行压力测试,并将运行过程中遇到的崩溃信息记录到指定的文件夹中,崩溃后将重启设备,重新执行monkey命令;大家可以在生成的批处理文件中根据个人需求更改应用程序包名、log保存路径等,运行保存后的批处理文件就可以长时间的对应用程序进行稳定性测试了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 222,000评论 6 515
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,745评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,561评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,782评论 1 298
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,798评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,394评论 1 310
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,952评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,852评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,409评论 1 318
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,483评论 3 341
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,615评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,303评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,979评论 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,470评论 0 24
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,571评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 49,041评论 3 377
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,630评论 2 359

推荐阅读更多精彩内容