Monkey基本介绍及使用(个人备用留存)

Monkey概述
•Monkey是Android SDK中附带的一个工具。可以运行在模拟器里或实际设备中。

•它向系统发送伪随机的用户事件流,实现对正在开发的应用进行压力(稳定性)测试。

Monkey测试的特点:所有的事件都是随机产生的,不带任何人的主观性。

 

Monkey测试的目的
•用于进行压力(稳定性)测试

•然后结合Monkey打印的日志和系统打印的日志,发现测试中出现的问题。

 

Monkey的工作原理
在Monkey运行的时候,它生成事件,并把它们发给系统。同时,Monkey还对测试中的系统进行监测,并进行特殊处理(如:自动停止)

1、如果限定了Monkey运行在一个或几个特定的包上,那么它会监测试图转到其它的包的操作,并对其进行阻止

2、如果应用程序崩溃或接收到任何失控异常,Monkey将停止并报错

3、如果应用程序产生了应用程序不响应(application not responding)的错误,Monkey将会停止并报错

4、按照选定的不同级别的反馈信息,在Monkey中还可以看到其执行过程报告和生成的事件

 

Monkey的使用
开始——运行——cmd或者直接按windows+R,进入到命令提示符
切换到adb目录下(或添加变量,直接输入)
Usb连接手机,输入 adb shell
进入手机后,输入相应的Monkey命令即可测试

 

 

 

 


Monkey的命令格式
基本命令格式
adb shell monkey –p 程序包 –v 测试次数

程序包: ls data/data

adb shell pm list packages

adb shell pm list packages -3

 

 

 

 

 

 

monkey –p com.tencent.mobileqq –v 500

对com.tencent.mobileqq 这个程序包进行500次的Monkey测试

 

 

 

 

日志的获取
为了方便分析问题,可以将日志信息重定向到文件中

monkey -p com.tencent.mobileqq -v 500>d:\a.log

如果测试monkey 碰到crash或者anr现象时,在抓取log的同时需要提供traces.txt(在/data/anr目录下)

在日志中搜索“ANR ”或搜索“Exception”,快速定位到关键事件信息 。然后查看Monkey里面出错前的一些事件动作,并手动执行该动作,找出重现步骤,提bug。

日志的级别

•日志级别level 0

比如:monkey –p com.tencent.mobileqq –v 500

说明:缺少值,仅提供启动提示、测试完成和最终结果等少量的信息

•日志级别 level 1

比如: monkey –p com.tencent.mobileqq –v –v 500

说明:提供较为详细的日志,包括每个发送到Activity的事件信息

•日志级别 level 2

比如:: monkey –p com.tencent.mobileqq –v –v -v 500

说明:最详细的日志,包括测试中选中/未选中的Activity信息

命令行参数 -s
用于指定伪随机数生成器的seed值。(seed值相同,产生的事件序列也相同)

monkey –p com.tencent.mobileqq –s 10 500

monkey –p com.tencent.mobileqq –s 10 500

posted @ 2022-03-18 16:09  海之悦  阅读(315)  评论(0编辑  收藏  举报