找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

227

积分

0

好友

27

主题
发表于 前天 19:00 | 查看: 4| 回复: 0

Monkey 是 Android 平台内置的一款 UI 压力测试工具,通过向设备发送随机的用户事件流(如触摸、滑动、按键),可以有效发现应用程序的稳定性问题,是进行Android/iOS应用基础稳定性测试的常用手段。

Monkey 基础执行命令

一条典型且功能完整的 Monkey 测试命令如下,它将执行 10000 次随机事件:

adb shell monkey -p 包名 -s 500 --ignore-crashes --ignore-timeouts --monitor-native-crashes -v -v 10000 > E:\java_monkey_log.txt

Android Monkey自动化测试入门:基础命令与脚本执行指南 - 图片 - 1

核心参数详解

上述命令中几个关键参数的作用如下:

  • -p 包名:指定要测试的目标应用包名。
  • -s 500:设置随机数生成器的种子值(seed)。相同的 seed 值可以复现相同的事件序列,便于问题定位。
  • --ignore-crashes / --ignore-timeouts:指示 Monkey 在遇到应用崩溃或 ANR(应用无响应)时继续执行后续测试。
  • --monitor-native-crashes:监控并报告本地代码(C/C++)的崩溃。
  • -v -v:设置日志详细程度为 Level 2,提供较为详细的执行信息。
  • 10000:指定要发送的随机事件总数。
  • > E:\java_monkey_log.txt:将命令行输出重定向到指定文件,方便后续分析。

Android Monkey自动化测试入门:基础命令与脚本执行指南 - 图片 - 2

异常处理策略调整

如果测试过程中遇到崩溃或超时导致测试提前停止,可以尝试移除 --ignore-crashes--ignore-timeouts 参数,让 Monkey 在首次遇到严重问题时即停止,以便快速捕获问题现场。命令简化为:

adb shell monkey -p 包名 -s 500 -v -v 10000 > E:\java_monkey_log.txt

如何停止正在运行的 Monkey 测试

当需要手动终止 Monkey 测试时,可以通过 ADB 命令查找并结束其进程。

  1. 查找 Monkey 进程 PID
    首先,使用以下命令列出所有进程并筛选出 Monkey。

    adb shell ps | findstr monkey

    命令执行后,通常会返回一行包含进程 ID (PID) 和进程名的信息,例如 15248 monkey

  2. 终止进程
    获得 PID(例如 15248)后,使用 kill 命令结束该进程。

    adb shell kill 15248

自动化脚本:一键停止 Monkey

频繁手动输入命令效率较低,我们可以编写一个 Windows 批处理脚本 (stopMonkey.bat) 来自动完成查找和终止过程,这是提升运维与DevOps效率的小技巧。

@echo off
setlocal enabledelayedexpansion

:: 直接从命令输出获取并处理每一行
for /f "tokens=1,2,*" %%a in ('adb shell ps ^| findstr monkey') do (
    set pid=%%a
    set process_name=%%b
    echo PID: !pid! - Process Name: !process_name!
    :: 停止monkey,!process_name!就是你当前得进程号
    adb shell kill !process_name!
)

pause

Android Monkey自动化测试入门:基础命令与脚本执行指南 - 图片 - 3

将以上代码保存为 stopMonkey.bat 文件,双击运行即可自动停止设备上所有正在运行的 Monkey 测试进程。

通过掌握以上基础命令、参数含义及进程管理方法,你便可以快速上手对 Android 应用进行 Monkey 稳定性测试。在实际测试中,通常只需调整 包名测试次数 即可开始一次完整的随机压力测试。




上一篇:国产BIOS开发工具链迁移:从Windows+VS到Linux+GCC的实践与挑战
下一篇:Android AI助手肉包:基于视觉语言模型的手机原生自动化工具
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-24 17:07 , Processed in 0.216947 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表