monkey结果详解Word下载.docx
《monkey结果详解Word下载.docx》由会员分享,可在线阅读,更多相关《monkey结果详解Word下载.docx(62页珍藏版)》请在冰豆网上搜索。
如果应用程序崩溃或接收到任何失控异常,Monkey将停止并报错。
022
023
如果应用程序产生了应用程序不响应(applicationnotresponding)的错误,Monkey将会停止并报错。
024
025
按照选定的不同级别的反馈信息,在Monkey中还可以看到其执行过程报告和生成的事件。
026
027
二、怎么用的?
028
029
首先用一个最简单的例子分析:
030
//p参数:
表示指定测试的程序
031
//v参数:
表示查看monkey生成的一些详细的随机的事件名
032
//数字100:
表示测试事件数为100
033
monkey-pcom.example.android.apis
-v-v-v100
034
035
036
结果如下:
037
038
:
Monkey:
seed=0count=100
039
040
041
AllowPackage:
com.example.android.apis
042
IncludeCategory:
android.intent.category.LAUNCHER
043
android.intent.category.MONKEY
044
045
//各种事件所占的比例。
046
//各数字分别表示:
047
[--pct-touchPERCENT]
048
[--pct-motionPERCENT]
049
[--pct-trackballPERCENT]
050
[--pct-syskeysPERCENT]
051
[--pct-navPERCENT]
052
[--pct-majornavPERCENT]
053
[--pct-appswitchPERCENT]
054
[--pct-flipPERCENT]
055
[--pct-anyeventPERCENT]
056
//Eventpercentages:
057
//
0:
15.0%
058
1:
10.0%
059
2:
060
3:
25.0%
061
4:
062
5:
2.0%
063
6:
064
7:
1.0%
065
8:
066
Switch:
067
068
//表示跳转到com.example.android.apis里面的ApiDemos这一个Activity里。
069
#Intent;
action=android.intent.action.MAIN;
category=android.intent.category.LAUNCHER;
launchFlags=0x10000000;
component=com.example.android.apis/.ApiDemos;
end
070
071
//允许此Intent跳转,
072
//AllowingstartofIntent{act=android.intent.action.MAINcat=[android.intent.category.LAUNCHER]cmp=com.example.android.apis/.ApiDemos}inpackagecom.example.android.apis
073
074
//发送的一些动作,如点击按下,点击放开,移动。
075
SendingPointerACTION_MOVEx=-4.0y=2.0
076
SendingPointerACTION_UPx=0.0y=0.0
077
SendingPointerACTION_DOWNx=207.0y=282.0
078
SendingPointerACTION_UPx=189.0y=289.0
079
SendingPointerACTION_DOWNx=95.0y=259.0
080
SendingPointerACTION_UPx=95.0y=259.0
081
SendingPointerACTION_DOWNx=295.0y=223.0
082
SendingPointerACTION_UPx=290.0y=213.0
083
SendingPointerACTION_MOVEx=-5.0y=3.0
084
SendingPointerACTION_MOVEx=0.0y=-5.0
085
086
//拒绝此跳转,因为它是跳转到非它自己的包的Activity,本测试中是指写测试它程序所在的包,此跳转是跳出本程序,进入到桌面。
087
//RejectingstartofIntent{act=android.intent.action.MAINcat=[android.intent.category.HOME]cmp=com.android.launcher/.Launcher}inpackagecom.android.launcher
088
089
//继续发送动作。
090
SendingPointerACTION_DOWNx=74.0y=201.0
091
SendingPointerACTION_UPx=74.0y=201.0
092
SendingPointerACTION_MOVEx=3.0y=-2.0
093
094
095
Eventsinjected:
100
096
097
//丢弃的,键=0,指针=0,轨迹球=0,翻转=0。
098
Dropped:
keys=0pointers=0trackballs=0flips=0
099
100
//网络统计经过时间为4202ms,其中4202ms是用于在手机上的,0ms用于无线网络上,没有连接的时间为0ms。
101
##Networkstats:
elapsedtime=4202ms(4202msmobile,0mswifi,0msnotconnected)
102
103
//monkey测试完成。
104
//Monkeyfinished
105
106
从例子中可以看出,该程序在这次测试中没有问题,若程序出现问题终端将打印出异常供程序员查找错误。
107
108
109
110
以下是monkey命令行的一些参数:
111
-p:
所在测试的包,可以是一个也可以是多个如monkey-pcom.androd.sms-pcom.androd.explorer
112
-c:
如果用此参数指定了一个或几个类别,Monkey将只允许系统启动被这些类别中的某个类别列出的Activity。
如果不指定任何类别,Monkey将选择下列类别中列出的Activity:
Intent.CATEGORY_LAUNCHER或Intent.CATEGORY_MONKEY。
要指定多个类别,需要使用多个-c选项,每个-c选项只能用于一个类别。
113
-ignore-crash:
当应用程序崩溃或发生任何失控异常时,Monkey将停止运行。
如果设置此选项,Monkey将继续向系统发送事件,直到计数完成。
114
-ignore-timeouts:
通常,当应用程序发生任何超时错误(如“ApplicationNotResponding”对话框)时,Monkey将停止运行。
115
-ignore-security-exceptions:
通常,当应用程序发生许可错误(如启动一个需要某些许可的Activity)时,Monkey将停止运行。
如果设置了此选项,Monkey将继续向系统发送事件,直到计数完成。
116
-monitor-native-crashes:
监视并报告Android系统中本地代码的崩溃事件。
如果设置了–kill-process-after-error,系统将停止运行。
117
-kill-process-after-error:
如果程序出现错误,monkey将结束此程序进程。
118
-hprof:
设置此项,将在monkey事件序列之前和之后立即生成profilling报告。
这将会在data/misc中生成大文件(约5mb)所以要小心使用它。
119
-pct-touch:
调整触摸事件的百分比(触摸事件是一个down-up事件,它发生在屏幕的某单一位置)。
120
-pct-motion:
动作事件的百分比(动作事件由屏幕上某处的一个down事件、一系列的随机事件和一个up事件组成)。
121
-pct-trackball:
调整轨迹事件的百分比(轨迹事件由一个或几个随机移动组成,有时还伴随着点击)。
122
-pct-syskeys:
调整系统按键事件的百分比(这些按键通常被保留,由系统使用,如home,back,startcall,endcall及音量控制)。
123
-pct-nav调整基本导航事件的百分比(导航事件来自方向输入设备的up/down/left/right组成)。
124
-pct-majornav:
调整“主要”导航事件的百分比(这些导航事件通常引发图形界面中的动作,如:
5-way键盘的中间按键、回退按键、菜单按键)
125
-pct-appswitch:
调整启动Activity的百分比。
在随机间隔里,Monkey将执行一个startActivity()调用,作为最大程度覆盖包中全部Activity的一种方法。
126
-pct-anyevent:
它包罗了所有其它的事件类型,如:
按键,其它不常用的设备按钮。
127
-pct-flip:
128
–wait-dbg:
停止执行中的Monkey,直到有调试器和它相连接。
129
–dbg-no-events:
设置此选项,Monkey将执行初始启动,进入到一个测试Activity,然后不会再进一步生成事件。
为了得到最佳结果,把它与-v、一个或几个包约束、以及一个保持Monkey运行30秒或更长时间的非零值联合起来,从而提供一个环境,可以监视应用程序所调用的包之间的转换。
130
-setup:
131
-f:
132
-port:
为monkey开启专用端口。
此时只monkey不会帮你乱点击,而此时你自己就是一只monkey了,在你乱点的时候,monkey会输出你点击后回馈的信息。
如果你打完命令之后模拟器上没有启动你所要启动的包,你需要自己启动,但是你只能启动你-p中指定的那几个包。
ctrl+c中断。
133
--throttle:
当事件起效时等待的毫秒数。
134
-s:
随机数生成器的seed值。
如果用相同的seed值再次运行monkey,它将生成相同的事件序列。
135
COUNT:
要发送的事件数。
136
usage:
monkey[-pALLOWED_PACKAGE[-pALLOWED_PACKAGE]...]
137
[-cMAIN_CATEGORY[-cMAIN_CATEGORY]...]
138
[--ignore-crashes][--ignore-timeouts]
139
[--ignore-security-exceptions][--monitor-native-crashes]
140
[--kill-process-after-error][--hprof]
141
[--pct-touchPERCENT][--pct-motionPERCENT]
142
[--pct-trackballPERCENT][--pct-syskeysPERCENT]
143
[--pct-navPERCENT][--pct-majornavPERCENT]
144
[--pct-appswitchPERCENT][--pct-flipPERCENT]
145
146
[--wait-dbg][--dbg-no-events]
147
[--setupscriptfile][-fscriptfile[-fscriptfile]...]
148
[--portport]
149
[-sSEED][-v[-v]...][--throttleMILLISEC]
150
COUNT
151
152
153
154
155
Monkey测试结果:
156
#monkey-pwfh.LessonTable-v-v-v200
157
seed=0count=200
158
wfh.LessonTable
159
160
161
//Selectingmainactivitiesfromcategoryandroid.intent.category.LAUNCHER
162
-NOTUSINGmainactivitycom.android.browser.BrowserActivity(frompackagecom.android.browser)
163
-NOTUSINGmainactivitycom.android.music.MusicBrowserActivity(frompackagecom.android.music)
164
-NOTUSINGmainactivitycom.android.contacts.DialtactsActivity(frompackagecom.android.contacts)
165
-NOTUSINGmainactivitycom.android.contacts.DialtactsContactsEntryActivity(frompackagecom.android.contacts)
166
-NOTUSINGmainactivitycom.android.mms.ui.ConversationList(frompackagecom.android.mms)
167
-NOTUSINGmainactivitycom.android.spare_parts.SpareParts(frompackagecom.android.spare_parts)
168
-NOTUSINGmainactivitycom.android.camera.Camera(frompackagecom.android.camera)
169
-NOTUSINGmainactivitycom.android.alarmclock.AlarmClock(frompackagecom.android.alarmclock)
170
-NOTUSINGmainactivitycom.android.settings.Settings(frompackagecom.android.settings)
171
-NOTUSINGmainactivitycom.android.camera.GalleryPicker(frompackagecom.android.gallery)
172
-NOTUSINGmainactivitycom.android.email.activity.Welcome(frompackagecom.android.email)
173
-NOTUSINGmainactivitycom.example.android.apis.ApiDemos(frompackagecom.example.android.apis)
174
-NOTUSINGmainactivitycom.android.calculator2.Calculator(frompackagecom.android.calculator2)
175
-NOTUSINGmainactivitycom.android.customlocale.CustomLocaleActivity(frompackagecom.android.customlocale)
176
-NOTUSINGmainactivitycom.android.development.Development(frompackagecom.android.development)
177
-NOTUSINGmainactivitycom.myactivity.MyActivity(frompackagecom.myactivity)
178
+Usingmainactivitywfh.LessonTable.MainTable(frompackagewfh.LessonTable)
179
-NOTUSINGmainactivitywfh.rss.MainRSS(frompackagewfh.rss)
180
//Selectingmainactivitiesfromcategoryandroid.intent.category.MONKEY
181
-NOTUSINGmainactivitycom.android.launcher.Launcher(frompackagecom.android.launcher)
182
-NOTUSINGmainactivitycom.android.settings.ManageApplications(frompackagecom.android.settings)
183
-NOTUSINGmainactivitycom.android.settings.RunningServices(frompackagecom.android.settings)
184
//Seeded:
0
185
//E