Android测试工具之monkey小结

一.Monkey

1.monkey简介

这个工具是最简单的,主要用来做app压力测试,所谓压力测试就是乱点以模拟各种各样奇怪的操作看app能不能抗的住。或者可以帮助找出app的一些隐藏极深的bug。非常简单且作用也非常有限,通常通过跑monkey后打印出来的日志分析来发现问题。

2.monkey最常用命令

2.1、

$ adb shell monkey -p com.jollycorp.jollychic -v 1000

应用模拟用户随机操作,无延迟点击1000次。

其中参数-p用来指定参数,指定一个或多个包;参数-v 设置日志级别(默认一个-v),如需更详细的日志可以加多个-v,最多3个,如monkey -p  com.jollycorp.jollychic -v -v -v 1000  \\3个-v,输出最详细的日志。

2.2、

adb shell monkey -p com.jollycorp.jollychic --throttle 500 100 > F:\monkeylog\monkey.txt

其中参数--throttle指定随机事件间的时间间隔,单位是毫秒,一般用500;最终把操作后的日志输出到电脑上的F:\monkeylog\monkey.txt。
2.3、

Monkey 测试1:adb shell monkey -p com.jollycorp.jollychic -s 10 100

Monkey 测试2:adb shell monkey -p com.jollycorp.jollychic -s 10 100

用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的。如上面的Monkey测试1和2,两次测试的效果是相同的,因为模拟的用户操作序列(每次操作按照一定的先后顺序所组成的一系列操作,即一个序列)是一样的。注意:seed值一般设为小于1000。

2.4、

adb shell monkey -p com.jollycorp.jollychic -s 500 --ignore-crashes --ignore-timeouts --monitor-native-crashes -v -v 10000 > F:\monkeylog\monkey_10000.txt

--ignore-crashes忽略崩溃,继续测试,若不做此限制,monkey测试出现崩溃时会自动停止测试;

同理,在中间插入控制命令如下:

--ignore-timeouts 忽略连接超时

--ignore-security-exceptions忽略在应用程序发生许可证错误(认证或证书异常),

--kill-process-after-error在应用程序出现错误后,将会通知系统停止发生错误的进程

--monitor-native-crashes监视并报告Android系统中本地代码的崩溃事件,如果设置”--kill-process-after-error”参数,系统将停止运行该进程

--ignore-native-carshes忽略本地代码导致的崩溃

2.5、

adb shell monkey -p com.jollycorp.jollychic -s 500 --throttle 500 --ignore-crashes --ignore-timeouts --monitor-native-crashes -v -v -v 10000 >  F:\monkeylog\monkey_10000.txt

一次可行的monkey测试实例,具体作用供分析研究。

3.monkey日志简介

Android测试工具之monkey小结_第1张图片
Android测试工具之monkey小结_第2张图片

3.1、Monkey finished

打开LOG,查看log的最下端,是否有类似以下字段:

## Network stats: elapsed time=5123ms (5123ms mobile, 0ms wifi, 0ms not connected)

// Monkey finished

这个字段表明本次的Monkey没有异常,测试通过。

3.2、CRASH

同样,在得到LOG后,搜索”CRASH”字段,如果搜索到有结果,则表明有进程出现问题,测试不通过。

// CRASH: com.onekchi.downloadmanager (pid 12919)

3.3、ANR

在Log中搜素该字段,如果有搜索有结果,则表示测试过程中,测试对象出现了无响应的现象,因此测试不通过。--throttle <毫秒>值建议为500

3.4、无法搜索到上述信息

出现这种情况,一般都是外界原因而非程序本身原因。比如电脑异常测试中断,需要重新测试。

参考文档:

http://developer.android.com/intl/zh-cn/tools/help/monkey.html

http://blog.csdn.net/cxq234843654/article/details/47153345

你可能感兴趣的:(Android测试工具之monkey小结)