Monkey测试(APP稳定性)

目录

1、Monkey简介

2、monkey程序介绍

3、Monkey测试前准备

4、Monkey测试命令

5、 Monkey测试结果(pass或者fail)的判断

6、Monkey Log的简单分析

7、汇总如图


1、Monkey简介

Monkey是Androld中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行测试。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。

2、monkey程序介绍

(1)Monkey程序由Android系统自带,使用java语言写成,在Android文件系统中的存放路径是:/system/framework/monkey.jar
(2)Monkey.jar程序是由一个名为“monkey”的shell脚本来启动执行,shell脚本在Android文件系统中的存放路径是:/system/bin/monkey;我们就可以通过在cmd窗口执行adb shell monkey{+命令参数}来进行monkey测试了。
(3)monkey中的一些常用指令
(4)例如:怎样进入手机路径下win+r进入命令窗口输入adb shell    输入ls

3、Monkey测试前准备

1、执行Monkey测试前,一定要确保屏幕处于解锁状态。
2、设置屏幕超时时间为最大时间(设置->显示->休眠->30分钟或者从不)。以防测试过程中手机锁屏,影响Monkey测试。
3、打开usb调试,确保adb可以连接。
4、抓取adb log,(如果出现anr,需要将/data/anr下的anr log拿出来,需要手机有root权限)。
Application not responsing

4、Monkey测试命令

(1)adb shell monkey -p 包名 --ignore-timeouts --ignore-crashes -v -v --throttle 200 1000000
例如我们的App进行测试,命令如下:
adb shell monkey -p 包名 --ignore-timeouts --ignore-crashes--ignore-security-exceptions -v -v --throttle 200 1000000
注:我们在测试过程中,建议不要忽略这些异常,尽可能的暴露出app中存在的问题,如果选择忽略出现crach,anr等现象,手机中就不会有提示,不便于判断测试是否正常。忽略异常是想要对此模块执行完成,尽可能多的发现更多问题,但是这个问题的判断只能通过log去分析,不便于测试的判断。所以我们测试建议使用下边的命令:
adb shell monkey -p 包名 -v -v -v --throttle 500 360000 >D:monkeylog.txt

(2)-p
用于约束限制,用此参数指定一个或多个包(Package)。指定包之后,Monkey将只允许系统启动指定的APP。如果不指定包,Monkey将允许系统启动设备中的所有APP。

(3)ignore-crashes
用于指定当应用程序崩溃时(Force & Close 错误),Monkey是否停止运行。如果使用此参数,即使应用程序崩溃,Monkey依然会发送事件,知道事件计数完成。

(4)ignore-timeouts
用于指定当应用程序发生ANR(APPlication No Responding)错误时Monkey是否停止运行。如果使用此参数,即使应用程序发生ANR错误,Monkey依然会发送事件,直到事件计数完成。

(5)ignore-security-ecxeptions
用于指定当应用程序发生许可错误时(如证书许可,网络许可等),Monkey是否停止运行。如果使用此参数,即使应用程序发生许可错误,Monkey依然会发送事件,直到事件计数完成。

(6)-v
用于指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别,分别对应的参数如下所示:
①日志级别Level0
示例:adb shell monkey -p com.android.contacts -v --throttle 200 1000000
缺省值,仅提供启动提示、测试完成和最终结果等少量信息。
②日志级别Level1
示例:adb shell monkey -p com.android.contacts -v -v --throttle 200 1000000
提供较为详细的日志,包括每个发送到Activity的事件信息。
③日志级别Level2
示例:adb shell monkey -p com.android.contacts -v -v -v --throttle 200 1000000
提供最详细的日志,包括了测试中选中/未选中的Activity信息。

(7)throttle
在每次操作(即事件)间的延时,单位是毫秒,一般我们设置延时时间为500ms。比较接近人的手动操作,如果在测试中发生了anr,可以将间隔设置为500ms,进行测试验证。

(8)-s
s其实就是seed,它是随机数的事件序列定一个值,若出现问题下次可以重复同样的序列进行排错。例如下面其实就是指定了一个seed为1080的随机事件序列
adb shell monkey -s 1080 -p com.android.contacts -v -v --throttle 200 1000000

5、 Monkey测试结果(pass或者fail)的判断

adb shell -p cn.xiaochuankeji.tieba -v -v -v --throttle 500 200

6、Monkey Log的简单分析

adb shell monkey -p 包名 -v -v -v --throttle 500 100>路径\文档名

7、汇总如图

 

  • 8
    点赞
  • 86
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

测试阿呆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值