Monkey详解(入门篇)

(一)什么是Monkey,Monkey的用途

Monkey是android测试工具。它通过向模拟器或者手机,发送伪随机事件流,来测试程序的健壮性,实现压力测试

(二)Monkey在哪儿,如何运行

Monkey位于设备的system\bin下。
Monkey详解(入门篇)_第1张图片

直接输入adb shell monkey,或在adb shell之后再次输入monkey。都可触发monkey help.

Monkey详解(入门篇)_第2张图片

(三)Monkey的指令分类。

Monkey指令可分为四类:辅助类指令,事件类指令,限制性指令,调试类指令。

辅助类指令,例如-h,-v.

事件类指令,功能包括
(1)控制发生事件的百分比,次数,事件间隔。
(2)执行脚本指令,控制脚本指令的执行次数。
(3)控制随机事件次数,重复某批次随机事件。

限制性指令,可以将随机事件控制在某个(或多个)包或类内。

调试类指令,可忽略某些事件(例如,崩溃,无响应等),保证随机测试的连续性。

(四)简单实例

发送1000次随机事件
输入指令:adb shell monkey 1000
效果如图:

(五)辅助类指令

-h:傻子都知道是干嘛的。

Monkey详解(入门篇)_第3张图片

-v:为Log输出等级。每多一个-v,输出Log约详细。最多可有三个-v.
我们以随机发送10个事件为例,比较一下Log的详细等级。

输入指令:adb shell monkey 10
响应信息如下:

C:\Users\XXXX>adb shell monkey 10
    // activityResuming(com.huawei.android.remotecontroller)
Events injected: 10
## Network stats: elapsed time=413ms (0ms mobile, 0ms wifi, 413ms not connected)

C:\Users\XXXX>

输入指令:adb shell monkey -v 10
响应信息如下:

C:\Users\XXXX>adb shell monkey -v 10
:Monkey: seed=1503502877295 count=10
:IncludeCategory: android.intent.category.LAUNCHER
:IncludeCategory: android.intent.category.MONKEY
// Event percentages:
//   0: 15.0%
//   1: 10.0%
//   2: 2.0%
//   3: 15.0%
//   4: -0.0%
//   5: -0.0%
//   6: 25.0%
//   7: 15.0%
//   8: 2.0%
//   9: 2.0%
//   10: 1.0%
//   11: 13.0%
:Switch: #Intent;action=android.intent.action.MAIN;category=android.intent.categ
ory.LAUNCHER;launchFlags=0x10200000;component=com.android.soundrecorder/.SoundRe
corder;end
    // Allowing start of Intent { act=android.intent.action.MAIN cat=[android.in
tent.category.LAUNCHER] cmp=com.android.soundrecorder/.SoundRecorder } in packag
e com.android.soundrecorder
:Sending Touch (ACTION_DOWN): 0:(355.0,1498.0)
:Sending Touch (ACTION_UP): 0:(350.61884,1499.2844)
    // Allowing start of Intent { cmp=com.android.soundrecorder/.RecordListActiv
ity } in package com.android.soundrecorder
Events injected: 10
:Sending rotation degree=0, persist=false
:Dropped: keys=0 pointers=0 trackballs=0 flips=0 rotations=0
## Network stats: elapsed time=623ms (0ms mobile, 0ms wifi, 623ms not connected)

// Monkey finished

C:\Users\XXXX>

若输入指令:adb shell monkey -v -v 10或 adb shell monkey -v -v -v 10
响应信息更加详细,这里不再啰嗦。

之后,再来总结monkey的其他指令类型。

你可能感兴趣的:(android测试,android工具,Android自动化测试)