Monkey测试

一:简介

Monkey测试是Android平台自动化测试的一种手段

通过Monkey程序模拟用户触摸屏幕、滑动Trackball、按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常

二:monkey命令

•目前我们做monkey整机测试所使用的命令是:

•monkey

-v -v --monitor-native-crashes --ignore-security-exceptions

--kill-process-after-error --pct-trackball 0 --pct-nav 0 --pct-anyevent 0

--pct-appswitch 0 --pct-flip 0 --pct-majornav 10 --pct-touch 44 --pct-motion 30

--throttle 150 6000000 >/mnt/sdcard/log/monkey_test.txt & logcat -v time

> /mnt/sdcard/log/logcat.txt & logcat -v time -b radio >

/mnt/sdcard/log/radio.txt &

•monkey

-v -v -v --monitor-native-crashes --ignore-security-exceptions

--kill-process-after-error --pct-trackball 0 --pct-nav 0 --pct-anyevent 0

--pct-appswitch 30 --pct-flip 5 --pct-majornav 5 --pct-touch 30 --pct-motion 10

--pct-syskeys 20 --throttle 150 600000 > d:/monkey.log

•monkey模块测试使用的命令是:

•monkey

-v -v -p com.google.android.music(对应的PackageName) --monitor-native-crashes

--ignore-security-exceptions --kill-process-after-error --pct-trackball 0

--pct-nav 0 --pct-anyevent 0 --pct-appswitch 0 --pct-flip 0 --pct-majornav 10

--pct-touch 44 --pct-motion 30 --throttle 150 6000000 >

/mnt/sdcard/log/monkey_test.txt & logcat -v time >

/mnt/sdcard/log/logcat.txt & logcat -v time -b radio >

/mnt/sdcard/log/radio.txt &

三:参数含义

•-p:所在测试的包,可以是一个也可以是多个 如 monkey

-p com.androd.sms -p com.androd.explorer

•-c:如果用此参数指定了一个或几个类别,Monkey将只允许系统启动被这些类别中的某个类别列出的Activity。如果不指定任何类别,Monkey将选择下列类别中列出的Activity: Intent.CATEGORY_LAUNCHER或Intent.CATEGORY_MONKEY。要指定多个类别,需要使用多个-c选项,每个-c选项只能用于一个类别。

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

•-ignore-timeouts:通常,当应用程序发生任何超时错误(如“Application Not Responding”对话框)时,Monkey将停止运行。如果设置此选项,Monkey将继续向系统发送事件,直到计数完成。

•-ignore-security-exceptions:通常,当应用程序发生许可错误(如启动一个需要某些许可的Activity)时,Monkey将停止运行。如果设置了此选项,Monkey将继续向系统发送事件,直到计数完成。

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

•-kill-process-after-error:如果程序出现错误,monkey将结束此程序进程。

•-hprof:设置此项,将在monkey事件序列之前和之后立即生成profilling报告。这将会在data/misc中生成大文件(约5mb)所以要小心使用它。

•-pct-touch:调整触摸事件的百分比(触摸事件是一个down-up事件,它发生在屏幕的某单一位置)。

•-pct-motion:动作事件的百分比(动作事件由屏幕上某处的一个down事件、一系列的随机事件和一个up事件组成)。

•-pct-trackball:调整轨迹事件的百分比(轨迹事件由一个或几个随机移动组成,有时还伴随着点击)。

•-pct-syskeys:调整系统按键事件的百分比(这些按键通常被保留,由系统使用,如home,back,start call,end call及音量控制)。

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

•-pct-majornav:调整“主要”导航事件的百分比(这些导航事件通常引发图形界面中的动作,如:5-way键盘的中间按键、回退按键、菜单按键)

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

•-pct-anyevent:调整启动Activity的百分比。它包罗了所有其它的事件类型,如:按键,其它不常用的设备按钮。

•-pct-flip:

•–wait-dbg:停止执行中的Monkey,直到有调试器和它相连接。

•–dbg-no-events:设置此选项,Monkey将执行初始启动,进入到一个测试Activity,然后不会再进一步生成事件。为了得到最佳结果,把它与-v、一个或几个包约束、以及一个保持Monkey运行30秒或更长时间的非零值联合起来,从而提供一个环境,可以监视应用程序所调用的包之间的转换。

•-setup:

•-f:

•-port:为monkey开启专用端口。此时只monkey不会帮你乱点击,而此时你自己就是一只monkey了,在你乱点的时候,monkey会输出你点击后回馈的信息。如果你打完命令之后模拟器上没有启动你所要启动的包,你需要自己启动,但是你只能启动你-p中指定的那几个包。ctrl+c中断。

•--throttle:当事件起效时等待的毫秒数。

•-s:随机数生成器的seed值。如果用相同的seed值再次运行monkey,它将生成相同的事件序列。

•COUNT:要发送的事件数。

四:LOG存放位置


•首先要创建对应的log文件夹和清空旧的日志:

进入

adbshell

mkdir /mnt/sdcard/log/

rm /mnt/sdcard/log/monkey_test.txt

rm /mnt/sdcard/log/radio.txt

rm -rf/data/anr/

rm -rf/data/tombstones/

rm /mnt/sdcard/log/logcat.txt

•然后再运行上面的整机测试脚本

或者 对应的模块测试脚本

五:LOG取出

•跑完之后取日志

adb pull

/mnt/sdcard/log/monkey_test.txtD:\monkey_test.txt

adb pull

/mnt/sdcard/log/radio.txt  D:\radio.txt

adb pull

/data/anr/     D:\

adbpull/data/tombstones/  D:\

adb pull

/mnt/sdcard/log/logcat.txt  D:\logcat.txt

得到对应的日志存放在D盘根目录

六:日志分析

•我们主要分析logcat.txt日志

      在logcat日志中,分别搜索关键字Fatal、ANR

如果能够搜索到,那么就存在对应的Crash或者ANR的bug

      然后就把对应的报错日志截取下来,一般是截取到Processcom.android.XXX has

died

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

推荐阅读更多精彩内容