monkeyapp有安卓版的吗_Android App Monkey 测试

Monkey是Android SDK提供的一个命令行工具,可以简单方便的发送伪随机的用户事件流,对Android APP做压力(稳定性)测试。主要是为了测试app是否存在exception,error,crash,nar等情况。目前在某些Android应用平台,新版app发布时,平台会执行monkey,如果有crash等相关问题,会被打回。

安装sdk后,可在命令行通过 adb shell monkey 查看可用命令

2.monkey常用参数说明:

| 基本参数 | 说明 |

| -p | 指定一个或多个包 |

| -s | 指定一个随机数生成器的seed值 |

| --throttle | 指定事件之间的固定延迟(ms) |

| -v | 指定反馈信息级别(信息级别就是日志的详细程度) |

| -c | 指定一个或多个类别名 |

| -f | 运行指定的monkey脚本 |

| 事件参数 | 说明 |

| --pct-touch | 指定触摸事件百分比 |

| --pct-motion | 指定动作事件百分比 |

| --pct-trackball | 指定轨迹事件百分比 |

| --pct-syskeys | 指定系统按键事件百分比 |

| --pct-nav | 指定基本导航事件百分比 |

| --pct-majornav | 指定主要导航事件百分比 |

| --pct-appswitch | 指定应用启动事件百分比 |

| --pct-flip | 指定flip(弹)事件的百分比 |

| --pct-anyevent | 指定其他类型事件百分比 |

| --pct-pinchzoom | 指定缩放(捏)事件百分比 |

| --pct-permission | 指定 |

| 调试参数 | 说明 |

| --ignore-crashes | 忽略因崩溃或异常引起的停止运行 |

| --ignore-timeouts | 忽略应用发生超时错误(ANR) |

| --ignore-security-exceptions | 忽略应用发生任何权限错误 |

| --monitor-native-crashes | 监视并报告monkey运行时native code的崩溃事件 |

| --ignore-native-crashes | 忽略因native code的崩溃事件 |

| --kill-process-after-error | 在应用出错后通知系统杀死发生错误的进程 |

| --hprof | 在事件序列前后立即生成profilfing report |

| --dbg-no-events | 监视应用程序所调用的包之间的转换 |

| --wait-dbg | 暂停执行中的monkey,直到有调试器与它连接 |

3.使用真机环境针对皮皮Android客户端进行monkey测试

A.开启手机调试模式,通过USB连接电脑,查看是否连接成,可以使用adb devices命令

B.关闭手机下拉通知栏,锁定手机界面(视机型而定,操作方式不一样),避免测试工程中切出app,影响测试结果。

C.执行monkey测试,使用脚本命名如下,参数请参照上面参数说明理解。

adb shell monkey -p com.chudiangameplay.android -s 10086 --pct-touch 70 --pct-motion 30 --ignore-crashes --ignore-timeouts --monitor-native-crashes --throttle 200 -v -v -v 50000 >D:\monkeylog\20200525.log

4.日志分析

日志分析可手动在日志中搜索crashes 、crashes 、error等内容,查看对应区域日志。

日志量较大,可使用如下提供的bat脚本,分析对应日志文件。

@ECHO OFF

ECHO.:::::::::::::::::::::::::::::::::::::::::::::::::

ECHO.:: 分析Monkey日志 ::

ECHO.:::::::::::::::::::::::::::::::::::::::::::::::::

REM 方法一:手动设置Monkey日志路径

SET monkeyLogFile=D:\monkeylog\20200525.log

REM 方法二:直接将Monkey日志拖到此bat文件上

IF NOT "%1"=="" SET monkeyLogFile=%1

ECHO.[ INFO ] Monkey日志: %monkeyLogFile%

ECHO.[ INFO ] 开始分析

SET blnException=0

ECHO.

ECHO.

::ANR日志

FOR /F "delims=" %%a IN ('FINDSTR /C:"ANR" %monkeyLogFile%') DO (

SET strANR=%%a

)

::崩溃日志

FOR /F "delims=" %%a IN ('FINDSTR /C:"CRASH" %monkeyLogFile%') DO (

SET strCRASH=%%a

)

::异常日志

FOR /F "delims=" %%a IN ('FINDSTR /C:"Exception" %monkeyLogFile%') DO (

SET strException=%%a

)

::正常

FOR /F "delims=" %%a IN ('FINDSTR /C:"Monkey finished" %monkeyLogFile%') DO (

SET strFinished=%%a

)

IF NOT "%strANR%" == "" (

ECHO.[ INFO ] 分析Monkey日志存在: ANR

ECHO.[ INFO ] ------------------------------------

ECHO. "%strANR%"

SET /a blnException+=1

ECHO.

)

IF NOT "%strCRASH%" == "" (

ECHO.[ INFO ] 分析Monkey日志存在: CRASH

ECHO.[ INFO ] ------------------------------------

ECHO. "%strCRASH%"

SET /a blnException+=1

ECHO.

)

IF NOT "%strException%" == "" (

ECHO.[ INFO ] 分析Monkey日志存在: 异常

ECHO.[ INFO ] ------------------------------------

ECHO. "%strException%"

SET /a blnException+=1

)

IF NOT "%strFinished%" == "" (

ECHO.[ INFO ] 分析Monkey日志存在: 执行成功标记

ECHO.[ INFO ] ------------------------------------

ECHO. "%strFinished%"

ECHO.

) ELSE (

IF %blnException% EQU 0 ECHO.[ INFO ] 分析Monkey日志结果: Monkey执行异常中断,请重新执行Monkey脚本!

ECHO.

)

REM 如果blnException不为0,说明存在异常,改变字体为淡紫色

IF %blnException% NEQ 0 (

Color 0D

ECHO.[ INFO ] 分析Monkey日志结果:存在异常日志,请手工再仔细检查!

ECHO.

) ELSE (

ECHO.[ INFO ] 分析Monkey日志结果:正常

ECHO.

)

ECHO.

ECHO.[ EXIT ] 按任意键关闭窗口...

PAUSE>nul

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值