首页 > 编程知识 正文

monkey测试结果,monkey测试怎么做

时间:2023-05-05 11:13:33 阅读:58588 作者:738

Monkey是Android SDK提供的命令行工具,可以方便快捷地发送伪随机用户事件流,并对Android APP进行压力(稳定性)测试。 主要是为了测试APP是否有响应或崩溃。

一、环境建设

只需设置Android SDK环境变量和环境变量。

二. Monkey的使用

1、进入ADB外壳环境

在windows环境中,进入DOS界面,在界面中,输入ADB shell进入ADB shell环境

注意:如果此端口被其他进程占用,ADB shell服务使用的5037个端口将无法成功启动ADB shell

例如:

表示ADB shell已成功启动,在shell @ * * * *:/$中,****表示设备id。 $ :表示一般用户; #表示根用户。

2、在ADB shell环境中输入monkey的相应命令即可。

例如:

3、查看需要测试的包名

如果您具有root权限,则可以进入/data/data/下并在ls/ls-a中查看。 (不能使用ll。 )

如果您没有根权限,可以使用: pm列表包查看

(需要控制monkey的执行时间。 通过设定执行时间/事件发送延迟时间,可以计算出需要执行的次数。 例如,如果希望monkey小时运行,则每100毫秒发送一次事件。 24*60*60*1000/100=864000次)

monkey-p * *---ignore-crashes---- ignore-timeoutss---- throttle 100864000

这次monkey表示24小时运行

三. Monkey指令参数的详细说明

monkey的命令参数如下:

基础参数:-v、-s、-p、--throttle等

调试选项--ignore-crashes等

事件类型--pct-touch等

(一)基础参数

1、最简单的monkey命令(monkey 100 ) )。

显示:在设备上,向整个系统发送100个伪随机事件。

2、-v参数

用于指定反馈信息级别。 信息级别是日志的详细级别。 默认值为-v (支持: level0),共分为三个阶段

-v )仅提供少量信息,如启动提示、测试完成提示和最终结果。

- v-v :更详细的日志,包括发送到活动的每个时间信息。

-v -v -v :最详细的日志,包括测试中选择的/未选择的活动信息。

注: monkey测试完成后,最后始终显示monkey finished徽标。

3、-p参数

我们测试的时候,会对具体的app进行测试,所以在使用monkey测试的时候,我们需要向monkey提供具体的app包名称,那时需要使用参数-p。 -p后跟APP名称。

测试时,可以不指定包名称。 在这种情况下,monkey在测试设备上随机启动app进行操作; 如果只需要测试一个APP,则可以使用一个-p; 如果多个app同时测试,则可以直接使用-p包名称1 -p包名称2来指定要具体测试的app。

例如:

4、-s参数

由于monkey发送伪随机事件流,因此如果两次seed值相同,则“种子值”(seed )在两次monkey测试中生成的事件序列也相同。 (因此,通常在测试时记录seed值,以免发生无响应和crash,不容易验证。 )

注意:-s包名称必须跟在次数之前

5、--throttle参数

设置操作的延迟时间(以毫秒为单位)--显示两个事件之间的间隔。 如果不指定此参数,将尽快生成和发送事件。

(二)调试选项

1、--ignore-crashes

指定在APP应用程序崩溃时Monkey是否停止。 使用此参数时,即使APP应用程序崩溃,monkey也会发送事件直到事件计数完成。

---ignore-timeouts

指定在APP应用程序中发生应用程序侦听(anr )错误时是否停止Monkey的执行。 使用此参数时,即使APP应用程序中发生ANR错误,Monkey也会发送事件,直到事件计数完成。

3、--ignore-security-exceptionss

指定当APP应用程序发生许可证错误时(证书许可证、网络许可证等),Monkey是否停止。 使用此参数时,Monkey将发送事件,直到事件计数完成,即使APP应用程序发生许可证错误。

4、--kill-process-after-error

用作手指

定当应用程序发生错误时,是否停止其运行。如果指定此参数,当应用程序发生错误时,应用程序停止运行并保持在当前状态(注意:应用程序仅是静止在发生错误时的状态,系统并不会结束该应用程序的进程)。

5、--monitor-native-crashes

用于指定是否监视并报告应用程序发生崩溃的本地代码

6、--hprof

该选项设置后,将会在monkey事件序列前后立刻生成report,大小为大于5MB,存储在/data/misc

(三)事件类型

monkey在发送伪随机事件时,是有不同的类型的。默认随机分配比例,也可以指定其百分比。如果不设置会是--pct-anyevent为100%,也就是纯随机事件;如果配置了其他参数,但是不够100%,余下的百分比部分也是--pct-anyevent事件。

如:

目前共包含11中类型的事件。

分别为:

0:触摸事件--pct-touch

调整touch触屏事件的百分比,触碰事件就是指在屏幕上的一个单独位置的一次点击/抬起的事件。

1:滑屏事件--pct-motion(手势事件)

(手势事件是由一个在屏幕某处的按下事件、一系列的伪随机移动、一个抬起事件组成)即一个滑动操作,但是是直线的,不能拐弯)

2:轨迹球--pct-trackball

(轨迹球事件包括一个或多个随机移动,有时还伴有点击。轨迹球现在智能手机上已经没有了,就是类似手柄的方向键一样)

3:

4:旋转(--pct-rotation)

旋转屏幕

5:

6:导航--pct-nav

(导航事件包括上下左右,如方向输入设备的输入)老手机的上下左右键,智能机上没有)

7:主导航--pct-majornav

调整主要导航事件的百分比(如中间键、取消、确定或菜单引发的图形接口的动作)

8:系统按键--pct-syskeys

调整系统按键事件,如:home/back/startcall/endcall以及音量控制键等

9:app切换--pct-appswitch

调整启动activity的百分比,在随机间隔中,执行一个startActivity()方法调用,作为一种最大化的覆盖安装包的所有的activity的方法

10:键盘翻转(--pct-flip)

11:随机--pct-anyevent

调整其他类型的事件的百分比,比如按键或其他不太常用到的一些事件的百分比

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。