Monkey

通过Monkey程序模拟用户触摸屏幕、滑动Trackball、 按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常,Monkey 主要用于Android 的压力测试  自动的一个压力测试小工具, 主要目的就是为了测试app 是否会Crash

缺点:不支持条件判断,也不支持读取待测界面的信息来执行验证操作

Monkey参数

参数说明:

基础参数:

1.-p

指定待测包,monkey将只允许系统启动指定APP,若不指定包,monkey将允许系统启动设备中的所有APP

指定一个包:adb shell monkey -p 包名 100

指定多个包:adb shell monkey -p 包1 -p 包2 100

2.-v

指定反馈信息级别,-v(少量信息), -v -v(较详细信息), -v -v -v(最详细信息)

3.-s

用于指定伪随机数生成器的seed值,如果seed值相同,则两次monkey测试产生的时间序列也相同

4.--throttle

用于指定事件的时延,单位毫秒,若不指定,monkey会尽可能快的生成和发送消息

例子:adb shell monkey -p 包名 -s 123456 -v -v -v --throttle 200 1000 > monkey_log.txt

发送事件类型(值类型为百分比):

1.--pct-touch:触摸事件

2.--pct-motion:动作事件

3.--pct-trackball:轨迹事件

4.--pct-nav:导航事件

5.--pct-syskeys:系统按键

6.--pct-anyevent:其他类型事件

调试选项:

常用:

  1. 程序崩溃后继续执行:--ignore-crashes
  2. 超时后继续执行:--ignore-timeouts
  3. 发生异常后继续执行:--ignore-security-exception

Monkey日志分析

正常情况:若monkey测试顺利执行,在log日志文件最后会打印执行次数和执行所花费事件(Monkey finished 代表测试执行完成)

异常情况:

1.ANR:程序未响应

2.Exception:异常

3.Crash:崩溃、闪退

Monkey使用aapt查看apk包名(在android sdk目录搜索可以找到aapt.exe,如果没有可以下载apktool)

aapt dump badging C:\apk\xx.apk

运行后会有包名package和入口activity名称:

package: name=xx.xx.xx’
launchable-activity: name=’xx.xx.xx’

【Monkey】Monkey命令与使用的更多相关文章

  1. android 自动化压力测试-monkey 3 命令参数

    使用monkey help 命令查看命令参数,如下: C:\Users\chenfenping>adb shell monkey -help usage: monkey [-p ALLOWED_ ...

  2. Monkey学习笔记<四>:Monkey服务器命令

    #使用如下命令将本地pc和手机连接起来 adb shell monkey --port 1080 adb forward tcp 1080:tcp 1080 telnet localhost 1080 ...

  3. adb、monkey常用命令

    adb.monkey常用命令 1.查看连接设备 adb devices 2.连接android模拟器 adb connect 127.0.0.1:62001 3.安装软件 adb install 这个 ...

  4. Monkey常用命令详解

    使用monkey help 命令查看命令参数,如下: C:\Users\chenfenping>adb shell monkey -help usage: monkey [-p ALLOWED_ ...

  5. Monkey&Monkey Runner使用

    adb shell monkey -p com.ajb.sp -s 500 --ignore-crashes --ignore-timeouts --monitor-native-crashes -v ...

  6. monkey常用命令实例

    一.常用命令的使用 1.monkey进行压力测试的命令是什么呢? adb shell monkey -p <packagename> <count> eg: adb shell ...

  7. adb monkey测试 命令

    adb shell monkey -p cn.com.linktrust.als.ipad 3500 LOWED_PACKAGE [-p ALLOWED_PACKAGE] ...] [-c MAIN_ ...

  8. Monkey Test 命令使用

    1.  命令使用 Monkey是一个命令列工具 ,可以运行在仿真器里或实际设备中.它向系统发送伪随机的使用者事件流,实现对正在开发的应用程序进行压力测试.Monkey包括许多选项,它们大致分为四大类: ...

  9. Monkey基础命令

    最近一直在看关于自动化测试的文章和工具,这是之前学习monkey的一些知识,想总结一下,方便以后查看,当然也可以提供一些参考.monkey 适合做压力测试,我们可以发送命令让它自己运行,并且指定运行动 ...

  10. Monkey服务器命令

随机推荐

  1. .net core使用 ELK

    一 Linux 下安装部署 第一种方法:docker-compose 安装方式 1.1 创建 docker-compose.yml 文件 version: '3.1' services: elasti ...

  2. Java--判空方法

    方法有StringUtils.isBlank() , StringUtils.isNotBlank() , StringUtils.isEmpty(); 使用关系 StringUtils.isNotE ...

  3. 两个jsp界面之间使用window.location.href使用?传递参数以及接受参数

    这篇文章如果能给你带来帮助,不胜荣幸,如果有不对的地方也欢迎批评指正. 网上有很多方法是讲怎么截取字符串啊等等的方法来获取参数,说实话,看着我就觉得费劲,咱们可以换一种思路来思考.一般跳转界面多为前段 ...

  4. iOS开发之桌面快捷方式Quick Actions

    长按桌面APPIcon图标快捷操作添加功能开发 在支持 3D Touch 的设备上,Quick Actions 可以让用户更快,更少的操作步骤去完成他们最常做的事情,其中这么多操作可以通过主屏幕直接完 ...

  5. react-router V6踩坑

    useRoutes() may be used only in the context of a <Router> component.需要将BrowserRouter放到外层,放到APP ...

  6. node 版本管理器 nvs

    node 总是在不断的升级,以前老项目在运行时可能会报错 我遇到了一个 PostCSS received undefined instead of CSS string 查了下可能是node-sass ...

  7. Power shell 读取电量,改变屏幕亮度

    1. Get-Wmiobject  -List win32*  # 列出所有win32_信息(基本的BIOS,Battery , Memory, processor) 2.Get-WmiObject ...

  8. jsp 格式化日期

    第一步,引入工具包: <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %&g ...

  9. ZIAO日报 202302

    2023.2 2023年2月14日 10:23 2023.2.14 继续读<Multi-View Transformer for 3D Visual Grounding>,读到了relat ...

  10. 前端之Vue day 05 父子通信、ref、动态组件、插槽、计算监听属性

    一.父传子 因为组件间数据不共享,所以我们要想办法打通父子之间的数据联系 自定义属性: 在父级中,给在使用的子组件标签加一个自定义的属性,因为要用到data,所以要写成 :自定义属性名='' #注意, ...