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

湖南新梦想

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

monkey的基本概念

[复制链接]

23

主题

30

帖子

318

积分

中级会员

Rank: 3Rank: 3

积分
318
QQ
发表于 2022-6-27 19:20:49 | 显示全部楼层 |阅读模式
一.Monkey的基本概念
    Monkey是一个命令行工具,主要运行在android系统上,通过随机点击界面,输入随机字符和键盘按键,对于某些类型的控件做出特定的动作。监视被测试程序的进程信息,能识别出程序是否出现异常,持续记录内存和CPU使用情况,方便发现是否存在内存泄漏问题,持续截屏,方便追溯和问题定位。可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流,实现对正在开发的应用程序进行压力测试。
    一般来说monkey包括在虚拟机上运行和在真实设备上运行。在虚拟机上运行时,内存消耗过大,经常会发生死机,不容易判断是模拟器死机还是程序有问题;用真机进行运行,使用usb线或其他方式如串口连通设备和pc,使之能够相互通讯即可,比较方便。
二.Monkey 的基本语法
由于Monkey运行在模拟器/设备环境中,所以必须用其环境中的shell 来进行启动。可以通过在每条命令前加上adb shell 来达到目的,也可以进入Shell 后直接输入Monkey命令。基本语法下:

    monkey -p + 包名即可
也有其他参数:
-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


回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2022-9-27 22:43 , Processed in 0.040865 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

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