请选择 进入手机版 | 继续访问电脑版

湖南新梦想

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 494|回复: 0

monkey相关命令

[复制链接]

30

主题

30

帖子

258

积分

中级会员

Rank: 3Rank: 3

积分
258
发表于 2022-6-27 18:33:54 | 显示全部楼层 |阅读模式
Monkey 大致操作流程:通过名为“monkey”的 Shell 脚本去启动 Monkey.jar 程序(shell 脚本在 Android 文件系统中 的存放路径是:/system/bin/monkey),在你指定的 APP 应用上模拟用户点击,滑动,输入等操作以极快的速度来对设备程序进行压力测试,检测程序是否会发生异常,然后通过日志进行排错。 Monkey 测试目的:测试 app 是否会 Crash(崩溃)
-p 参数: -p 包名 对指定的 app 进行随机用户操作
-v 参数: 设置 monkey 日志级别 -v 基础级别日志 -v -v 日志 -v -v -v 最详细的日志
--throttle 参数:设置 操作之间的间隔时间,单位是 毫秒
-s 参数:指定 monkey 的操作序列 s 代表 seed,随机数的种子值 -s 取值(1--10)
场景:使用 monkey 测试的时候,发现了一个 bug,开发说修复完了,让你进行回归测试,你如何做?
所以,这个场景可以使用 -s 参数来解决回归测试问题操作之前,把软件处于关闭状态(保证初始状态一致)
monkey -p com.sky.jisuanji -s 4 --throttle 500 300 一次
monkey -p com.sky.jisuanji -s 4 --throttle 500 300 执行第二次
-s 也就是伪随机数的来由
参数: --ignore-crashes用于指定当应用程序崩溃时(Force & Close 错误),Monkey 是否停止运行。
参数: --ignore-timeouts用于指定当应用程序发生 ANR(Application No Responding)错误时,Monkey 是否停止运行。
参数: --ignore-security-exceptions用于指定当应用程序发生许可错误时(如证书许可,网络许可等),Monkey 是否停止运行。这三个参数解决 monkey 不能长时间运行的问题。 且 monkey 最大次数 20 亿次
monkey -p com.sky.jisuanji -s 8 --throttle 500 --ignore-crashes --ignore-timeouts--ignore-security-exceptions 200
--pct-事件类别11 个事件百分比控制(有的是 9 种事件,没有--pct-pinchzoom,--pct-rotation 事件)由安卓 SDK 决定
需求场景:用户反馈,屏幕旋转的时候 app 偶然会闪退--pct-touch {+百分比} 0:
触摸,触摸事件泛指发生在某一位置的一个 down-up 事件,点击--pct-motion {+百分比}1:
动作,动作事件泛指从某一位置接下(即 down 事件)后经过一系列伪随机事件后弹出(即up 事件)
--pct-pinchzoom {+百分比}2:
二指缩放,智能机上的放大缩小手势操作事件--pct-trackball {+百分比}3:
轨迹,轨迹事件包括一系列的随机移动,以及偶尔跟随在移动后面的点击事件--pct-rotation {+百分比}4:
屏幕旋转,横屏竖屏事件--pct-nav {+百分比}5:
基本导航,基本导航事件主要来自方向输入设备的上、下、左、右事件--pct-majornav {+百分比}6:
主要导航,主要导航事件通常指引发图形界面的一些动作,如键盘中间按键、返回按键、菜单按键等--pct-syskeys {+百分比}7:
系统按键,系统按键事件通常指仅供系统使用的保留按键,如 HOME 键、BACK 键、拨号键、挂断键、音量键等--pct-appswitch {+百分比}8:
应用启动,应用启动事件(activity launches)即打开应用,通过调用 startActivity()方法最大限度地开启该 package 下的所有应用--pct-flip {+百分比}9:翻转,键盘轻弹百分比,如点击输入框,键盘弹起,点击输入框以外区域,键盘收回--pct-anyevent {+百分比}10:
其他类型,其他类型事件指上文中未涉及的所有其他事件,如 keypress、不常用的 button等用 Monkey 做测试,为了方便分析问题,需要把 monkey 运行过程中产生的日志结果进行分析,查找 bug
正规 monkey 使用流程:
1、adb logcat -c
2、Adb logcat -s *:E -v long -f 手机路径 开启手机日志打印
3、执行 monkey 指令monkey -p com.sky.jisuanji -s 3 --throttle 500 --ignore-crashes --ignore-timeouts--ignore-security-exceptions --pct-rotation 20 --pct-touch 80 100000
4、指定的时间达到后(2 小时--1 个晚上不等),使用 ctrl + c 分别停止 monkey 和日志
5、把手机日志下载到 电脑通过 文本分析工具进行分析 (查找 app 包名)
经验:检测报错的 exception 是否相同,且报错的代码行数是否相同,如果相同,则是同一个 bug,不需要提交给开发



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|湖南新梦想 ( 湘ICP备18019834号-2 )

GMT+8, 2023-3-25 14:56 , Processed in 0.041220 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

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