Monkey

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Monkey相关的知识,希望对你有一定的参考价值。

Monkey是安卓中的一个命令行工具,可以运行在模拟器里或者实际设备中。

它向系统发送伪随机的用户事件流,实现对正在开发的应用程序进行测试,是一种为了测试软件的稳定性、健壮性的快速有效的方法。


Monkey的特征:

  1. 测试的对象仅为应用程序包,有一定的局限性

  2. 测试时使用的事件流数据流是随机的,不能进行自定义

  3. 可对MonkeyTest的对象、事件数量、类型、频率等进行设置



运行条件:基于搭建好的安卓测试开发环境


使用步骤:

1.启动模拟器or连接真机,adb devices验证

2.确定你要测试应用的PackageName

3.使用Monkey发一条测试命令


确定PackageName是关键

可以直接问开发,或者用ui automator vierer查看,或者自己找

自己找的方法如下:

在安卓设备上点击一下你要测试的应用,然后就无需其他操作了

在PC上的命令行输入 adb logcat *:I > d:/log.txt

Ctrl C 停掉(为了避免过多的新信息)

打开d:/log.txt

从文件最下面开始找以下格式的信息

I/ActivityManager(数字):Displayed 包名/类名:+数字ms

如以下,包名为:com.android.calculator2

I/ActivityManager(  363): Displayed com.android.calculator2/.Calculator: +2s312ms




使用Monkey发一条测试命令

adb shell monkey -p com.android.calculator2 -v 50


Monkey基础命令语法

adb shell monkey[options]


adb shell monkey -p 包名 -v 500

-v:(打印的日志)显示默认程度的信息

500:设定事件数



Monkey命令结果分析要点:

  1. 找monkey里面的那个出错的地方(Error,Exception,Crash)

  2. 查看monkey里面出错前的一些事件动作,并手动执行该动作

  3. 若以上步骤还不能找出,可以再执行一遍,注意seed值要一样(-s seed值)

  4. 注意第一个switch以及其他异常信息



Monkey测试的目的

ANR问题:在日志中搜索ANR(Applicaton Not Responding)

崩溃问题:在日志中搜索Error,Exception,Crash





以上是关于Monkey的主要内容,如果未能解决你的问题,请参考以下文章

Gevent-socket

进程线程协程开启

每日日报

协程在Socket上的应用

Android Monkey介绍

Android Monkey 介绍