news 2026/3/14 13:06:56

​自动化测试工具—Monkey命令格式详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
​自动化测试工具—Monkey命令格式详解

本章节主要讲解“自动化测试工具—Monkey命令格式详解”的内容,monkey是android自带系统自带的程序,可以生成伪随机用户事件来模拟单击、双击、输入、滑动、拖动、触摸、手势等操作,可以对正在开发中的程序进行随机压力测试和稳定性测试。

monkey命令格式:

  • adb shell monkey [options] ;其中options值有很多选项,可以在Monkey官网查看,也可以输入命令 adb shell monkey -help 可以查看到其对应的所有值。event-count代表事件总数,该参数必须写到命令的最后边,且不可以省略。

基础选项:

-p 用于约束限制,用此参数指定一个包,指定包后Monkey将被允许启动指定应用。

-v 指定日志的详细程度,分Level1、Level2、Level3;-v 默认值,仅提供启动提示,操作结果等少量信息 ,也就是Level1,比如adb shell monkey -p xxx.xxx.xxx -v 1 ;-v -v 提供比较详细信息,比如启动的每个activity信息 ,也就是Level2,比如adb shell monkey -p xxx.xxx.xxx -v -v 1 ;-v -v -v 提供最详细的信息 ,比如adb shell monkey -p xxx.xxx.xxx -v -v -v 1

-s 伪随机数生成器的种子值,如果我们两次monkey测试事件使用相同的种子值,会产生相同的事件序列;如果不指定种子值,系统会产生一个随机值。种子值对我们复现bug很重要。

  • throttle指定两次操作间的时延,单位为ms

  • pct事件选项,一般格式为:--pct-事件名称 事件百分比

调试选项:

  • 由于monkey在测试app时,我们需要作长时间的稳定性测试,在测试过程中,app很可能因为碰到问题而崩溃,此时测试会停止,而达不到我们长期测试的目的,我们需要通过调试参数来让测试执行继续.

主要的几个参数如下:

  • ignore-crashes 指即使应用程序崩溃(Force& Close错误),Monkey依然会发送事件,直到事件计数达到指定的次数为止。

例:

adb shell monkey -p cn.mopon.film --ignore-crashes 100000

--ignore-timeouts 指app在发生 ANR错误(无响应),Monkey依然会发送事件,直到事件计数完成。

--ignore-security-exceptions 指APP发生许可证书错误时,Monkey依然继续发送事件,直到事件数目达到目标值为止。

示例:​​​​​​​

adb shell monkey -p cn.mopon.film -v -v -v –throttle 300 --pct-touch 20 –-pct-motion 20 --pct-nav 20 –pct-syskeys 20 --ignore-crashes --ignore-timeouts --ignore-security-exceptions 3000>D:\mokey_log.log

解释:

  • 制定应用程序cn.mopon.film,日志级别为超详细,操作之间间隔300ms,制定了触摸、手势、基本导航、系统按键事件且占比都为20%,且monkey运行过程发生程序崩溃、无响应、认证错误等情况,依然发送事件,直到事件数目为3000,最后将生成的日志文件保存在D盘,命名为monkey_log.log。

本章节关于“自动化测试工具—Monkey命令格式详解”的内容就学习到这里,大家觉得文章有用的话一定要关注后我们,每天来这里和小编一起学习涨薪技能哦。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/14 5:20:28

安达发|守护生命线:APS排程软件,医疗器械智造的“定海神针”

行业特殊性:医疗器械制造的严苛挑战在医疗健康事业快速发展的今天,医疗器械行业正面临着前所未有的机遇与挑战。从心脏起搏器到人工关节,从诊断试剂到高端影像设备,每一件医疗器械都承载着生命的重量。这种特殊性决定了医疗器械制…

作者头像 李华
网站建设 2026/3/14 9:01:41

LangGraph 1.0 终极指南:AI Agent 效能提升 300% 的秘密,与其他工具对比,收藏这篇就够了!

在AI大模型应用开发的下半场,复杂场景的落地难题逐渐凸显。大家在搭建多步骤推理系统、处理跨模块状态传递、协调多智能体协作时,常常陷入代码冗余、流程混乱、性能瓶颈的困境。 传统的线性编程模式和简单工作流引擎,面对需要动态决策、回溯…

作者头像 李华
网站建设 2026/3/10 16:19:46

Numba JITClass与结构化数组

在编写高性能的Python代码时,Numba的jitclass是一个非常有用的工具,它可以将Python类编译为机器码,从而提高执行效率。然而,在使用jitclass处理复杂数据结构,如结构化数组时,可能会遇到一些挑战。下面我们将通过一个实例来探讨如何正确定义和使用jitclass来处理结构化数组…

作者头像 李华