monkey小用

来源:互联网 发布:淘宝网店怎么改价格 编辑:程序博客网 时间:2024/05/16 10:19

最近开始复习以前的测试工具,顺便就写一遍monkey的,方便自己记忆,各位大佬请轻拍。

这次monkey主要是在夜神模拟器的基础上用的,把需要用到的apk传到模拟器上,然后再模拟操作。

首先,还是概念性的介绍。

MONKEY测试:

顾名思义,Monkey就是猴子。Monkey测试,就像一只猴子,在电脑面前,乱敲键盘在测试。猴子什么都不懂, 只知道乱敲。

android平台自动化测试的一种手段,通过MONKEY程序模拟用户触摸屏幕、滑动Trackball、按键等操作来对设备上的程序进行压力测试,检测程序多久时间会发生异常。

MONKEY是命令行工具。

弱点:Monkey虽然可以根据一个指定的命令脚本发送按键信息,但不支持条件判断,也不支持读取待测界面的值来执行验证操作。

运行环境:基于搭建的adt(安卓测试开发环境)。

用途:既可以做压力测试,也可以自动化测试。

使用时间:等产品稳定后,没有特别多的bug时,从而测试待测应用的稳定性、健壮性(是否发生闪退、崩溃)。



然后,就是实际操作了。

具体开启:

1、启动安卓模拟器/真机

2、点击启动——输入cmd———进入命令行界面

3、查看设备连接情况 adb devices

4、在命令行界面输入monkey命令

————如果monkey需要执行指定设备,即:

$ adb -s [device] shell monkey [options]


5、查找monkey进程号

adb shell ps | find "monkey"

6、杀死monkey进程

adb shell kill 【pid】


ps一下,对于不知道包名,我经常使用的命令是:adb shell  dumpsys  activity | find "mFocusedActivity",

这个命令使用的前提是你先打开模拟器上正在使用的app。

还有一种,就是要靠自己的慧眼识金了:adb shell    ——进入shell模式

cd  data/data

ls ——自己慢慢查看吧


附上一些常见参数的讲解:

常见参数:

-p   用于约束限制,用此参数指定一个或多个包(packet,即app名字)。

monkey将只允许系统启动指定的app。如果不指定包,monkey将允许系统启动设备中所有的app


-v  用于指定反馈信息级别(信息级别即日至的详细程度),共三个级别。

-v                       Level0

仅提供启动提示、测试完成和最终结果等少量信息

-v -v                  Level1

提供较详细的日志,包括每个发送到activity的事件信息

-v -v -v      Level2

最详细的日志,包括测试中选中/未选中的activity信息

 

--throttle<毫秒>用于指定用户操作(即事件间的)延时,单位毫秒(每一个动作都延迟规定的毫秒数哦,一不小心设太多,会等的很无聊的

例:adb shell monkey -p com.tencent.mobileqq  --throttle 3000 100

 

--randomize--throttle 在事件之间插入随机延迟,随机延迟范围为0throttle设置的时间,单位为毫秒

列:adb shell monkey -p com.tencent.nobileqq  --throttle 5000 --randomize--throttle  100


-s 用于指定伪随机数生成器的seed值。如果seed值相同,则两次monkey测试所产生的时间序列是相同。(是指本次连接的情况下)

例:adb shell monkey -p com.tencent.nobileqq  -s101 100

  adb shell monkey -p com.tencent.nobileqq  -s 101 100


 

注:以上几个参数是可以同时使用的

 

--pkg--whitelist--file 白名单,后面接txt

例:adb push D:\whitelist.txt data/local/tmp

  adb shell monkey --pkg--whitelist--file data/local/tmp/whitelist.txt 100

 

--pkg--blacklist--file 黑名单,后面接txt

例:adb push D:\blacklist.txt data/local/tmp

  adb shell monkey --pkg--blacklist--file data/local/tmp/blacklist.txt 100

 

注:黑白名单不能同时使用,每次只能用一个

 

adb shell monkey {限制命令参数} {时间名字} {百分比} {事件总数}

例:adb shell monkey -p com.tencent.mobileqq --pct-touch 20 --pct-filp 25 200

 adb shell monkey -p com.tencent.mobileqq --pct-touch 10 --pct-rotation 40 -v -v -v  100


他人参考:

http://www.cnblogs.com/TankXiao/p/4815134.html#setup

http://blog.csdn.net/zm2714/article/details/7977930

http://blog.csdn.net/true100/article/details/52814520







原创粉丝点击