monkey命令浅析

一、monkey简介

Monkey是一个运行在Android目标机器的一个应用,是一个基于命令行的应用界面测试工具,它可以独立的运行。根据用户提供的参数,它会根据算法自动生成不同用户事件的伪随机流来驱动测试的进行,比如点击,触控,手势,以及一系列系统级别的事件,然后把这些事件发送到Android操作系统来触发事件的发生。用户可以使用Monkey来对你正在开发的应用以一种随机但可复用的方式进行压力测试。

二、monkey参数解析

Monkey支持一系列的参数选项来运行,但总的来说可以把这些选项划分成以下四个基本类别:

•    基本配置选项: 比如配置将要测试的事件的数量

•    运行约束选项: 如设置只对单独的一个包进行测试

•    事件类型和频率:比如手势事件占所有随机产生事件的30%,点击占50%,触控占20%

•    调试选项

1)基本配置选项

-help: 提示帮助信息

-v:指定打印信息精度,一个-v增加一个精度

操作

1. adb shell monkey -help

2. adb shell monkey –v 20 对比 adb shell monkey –v –v 20

2)运行约束选项

•    -p <apl包名>:一个-p 指定一个包名,可同时指定多个包

   Monkey只启动指定的包(运行时可触发其他应用)

    所有安装的应用包在data/data

    logcat查看应用包名

    例:adb shell monkey –p com.baidu.tieba –v 200

•    -c <activity-category>: 一个-c制定一个category,可同时指定多个,不指定的话,默认为Intent.CATEGORY_LAUNCHER或Intent.CATEGORY_MONKEY

•    实际使用中一般较少用到该参数。

3)事件类型和频率

频率

•    -s <seed>: 伪随机数生成器的seed值(一串数字),同一个seed值多次运行monkey,随机事件是一样的。有助于定位排查问题。

•    adb shell monkey –s  1567 –p com.baidu.tieba–v 200

•    --throttle <milliseconds>:事件间的间隔,单位为毫秒,可控制事件频率

•    adb shell monkey –s 1567 –p com.baidu.tieba –v 200

•    对比事件频率,日志点击坐标(事件一样)

事件选项

•    --pct-touch <percent>:调整触摸事件百分比(一个点down-up)

•    --pct-motion <percent>:调整动作事件百分比(down-**-up)

•    --pct-trackball <percent>:调整轨迹事件百分比(系列移动及点击)

•    --pct-nav <percent>:调整“基本”导航事件百分比(上下左右导航)

•    --pct-majornav <percent>:调整“主要”导航事件百分比(home/back/menu)

•    --pct-syskeys <percent>:调整系统按键事件百分比

•    --pct-appswitch <percent>:调整启动avtivity百分比(重要)

•    --pct-anyevent <percent>:调整其他类型事件百分比

4)调试选项

•    --dbg-no-events:启动后不生成事件(写在事件前)

•    --hprof:生成profiling报告(data/misc?)

•    --ignore-crashes:忽略crash

•    --igmote-timeouts:忽略超时

•    --ignore-security-exceptions:忽略许可错误

•    --kill-process-after-error:出错时杀掉被测进程

•    --monitor-native-crashes:监控本地代码crash

•    --wait-dbg:等待调试器

三、注意事项

1)复现monkey操作过程需要加seed种子号,-s(两次命令的参数必须要一样)

2)要实现多机运行,需要在adb后加-s deviceid号,并且命令行结尾需要加静默符号&(dos环境下还不行,Linux环境下可以)

示例:

adb -s 1d529206 shell monkey -s 1313 -v --throttle 300 --pct-touch 50 -p com.baidu.tieba 200

 

                   


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值