android monkey压力测试,Android-Monkey 压力测试
1.Monkey 介绍
Monkey是Android中一个对App进行压力测试的命令行工具,可以向系统发送伪随机的用户事件流对正在开发的App进行压力测试(模拟用户操作App)。压力测试主要是为了提高App的稳定性、和用户留存率。Monkey功能强大,主要包含三个部分:1.Monkey 命令。2.MonkeyScript。3.Monkeyrunner。该篇文章主要介绍Monkey命令。
用 Monkey 进行App压力测试的结果有三种:
1.正常
2.Crash :程序崩溃
3.ANR:程序无响应
2.Monkey 命令
查看 monkey 使用帮助: adb shell monkey -help
1.在手机上随机操作 100 次。adb shell monkey 100
2. -p 指定要进行测试的 App 的包名,可以指定多个包名,对多个 App 进行测试。adb shell monkey -p 1000
3. -c 指定要进行测试的 App 的 category,可以指定多个 category,Monkey 将仅允许系统访问其中一个指定类别中所列的 Activity。adb shell monkey -c 1000
category 是启动 Activity 时的隐式 Intent,例如:android.intent.category.LAUNCHER,表示该 Activity 可以作为启动界面。
4. -s 设置伪随机数生成器的 seed 值。adb shell monkey -p -s 12345 1000
如果你使用相同的 seed 值重新运行 Monkey,它将会生成相同的事件序列。主要用来将程序 Bug 重现。
5. -v 输出日志信息的详细级别,共三个级别,最详细级别是三个 -v。adb shell monkey -v -v -p -s 12345 1000
6. 将log日志信息保存到指定文件。adb shell monkey -p -s 100 1000 >C:\Desktop\monkey\testlog.txt
7. --throttle 在随机事件中插入固定的延迟时间,单位:毫秒。adb shell monkey -v -p --throttle 500 1000
8. --pct-touch 设置触摸事件的百分比,即手指对屏幕进行点击抬起(down-up)的动作。adb shell monkey -v -p --pct-touch 50 1000
9. --pct-motion 设置移动事件百分比,这种事件类型是由屏幕上某处的一个down事件一系列伪随机的移动事件和一个up事件,即点击屏幕,然后直线滑动,最后抬起的事件。adb shell monkey -v -p --pct-motion 50 1000
10. --pct-trackball 设置轨迹球事件百分比,这种事件类型是一个或者多个随机移动,包含点击事件,这里可以是曲线运动。
11. --pct-nav 设置基本导航事件百分比,包括:上下左右四个方向按键。
12. --pct-majornav 设置主要导航事件百分比,这些导航事件通常会导致UI界面发生变化,导航按键包括:back键,菜单键等。
13. --pct-syskeys 设置系统按键事件百分比,包括:back键,home键,音量键,拨号键等。
14. --pct-appswitch 设置Activity 启动次数所占百分比。Monkey 会以随机间隔发起 startActivity() 调用,以最大限度地覆盖软件包中的所有 Activity。
15. --pct-anyevent 设置其他事件的百分比,包括所有其他类型的事件,例如按键、设备上的其他不太常用的按钮等。
16. --ignore-crashes 忽略操作时的崩溃异常。adb shell monkey --ignore-crashes -p 1000
Monkey 在执行操作时,如果程序出现异常,Monkey 会停止运行。会导致随机事件次数没有执行完成,设置此项,就算程序出现异常,Monkey 将继续执行随机事件,直到事件计数完成。
17. --ignore-timeouts 忽略程序执行超时(ANR)。adb shell monkey --ignore-timeouts --ignore-crashes -p 1000
18. --ignore-security-exceptions 忽略程序发生权限错误。adb shell monkey --ignore-security-exceptions -p 1000
当程序发生权限错误(例如启动一些需要特定权限的Activity)导致的异常时,Monkey将停止运行。设置此项,Monkey 将继续执行随机事件,直到事件计数完成。
19. --monitor-native-crashes 监视并报告 Android 系统原生代码中发生的崩溃。
20. --ignore-native-crashes 忽略本地代码导致的崩溃。
21. --kill-process-after-error 设置此项,程序出异常 Monkey 就会停止。而出现异常的App将保持运行状态。
22. --wait-dbg 停止正在执行的 Monkey,直到有调试器和它相连接。
13. --dbg-no-events 设置此项,Monkey 将执行初始启动,进入到一个测试 Activity,然后不会再进一步生成事件。
24. --hprof 设置此项,则会在 Monkey 事件序列之前和之后立即生成分析报告。
3.参考资料
android monkey压力测试,Android-Monkey 压力测试相关推荐
- android服务器压力测试,Android压力测试Monkey工具
最近在Android程序测试过程中接触到了自动化测试方法,对其中的一些工具.方法和框架做了一些简单的整理,其中包括android测试框架.CTS.Monkey.Monkeyrunner其它test t ...
- android 获取monkey日志_Android压力测试:monkey压力测试实战
主要分享的主题是 Android App 专项测试, 通过 monkey 进行压力测试. 一.测试步骤 1.安装ADB 2.连接被测手机和电脑 3.打开CMD命令行 4.输入monkey命令 adb ...
- cpu压力测试 Android,Android App 压力测试方法(Monkey)
一.为什么要开展压力测试 a.提高产品的稳定性:b.提高产品的留存率 二.什么时候开展压力测试 a.首轮功能测试通过后:b.下班后的夜间进行 三.7个基础知识(理论部分) 3.1 手动测试场景与自动测 ...
- [Android 测试] 压力稳定性测试之: Monkey 详解分析脚本
一.什么是稳定性测试? 通过随机点击屏幕一段时间,看看app会不会奔溃,能不能维持正常运行. 二. Money是什么? Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模 ...
- android 回归测试,android测试:monkey使用方法
android测试:monkey使用方法 Android Sdk给我们提供了Monkey和Monkeyrunner这两个自动化测试工具. 一.什么是Monkey Monkey是一个命令行工具,可以运行 ...
- android驱动测试,Android: 通过 cucumber 驱动 monkey 做稳定性测试
主要内容 稳定性测试是什么 Monkey 介绍 自动化 Monkey 稳定性测试是什么 通过随机点击屏幕一段时间,看看 app 会不会奔溃,能不能维持正常运行. Monkey 介绍 Monkey 是一 ...
- Android 系统(212)---monkey实战–测试步骤、常用参数、常规monkey命令
monkey实战–测试步骤.常用参数.常规monkey命令 [转]monkey实战–测试步骤.常用参数.常规monkey命令 ***(本文转自:https://blog.csdn.net/u01164 ...
- monkey测试_adb monkey压力测试检测安卓手机的5大步骤,你知道吗?
一.monkey是什么 1.monkey程序由android系统自带,使用Java语言写成,在Android文件系统中的存放路径是:/system/framework/monkey.jar 2.Mon ...
- Android开发、adb、monkey测试
一. 手机测试概念 传统手机测试 VS 手机应用软件测试 传统手机测试:指测试手机本身比如抗压,抗摔,抗疲劳,抗低温高温等.也包括手机本身功能.性能等测试. 手机应用软件测试 C/S Client/S ...
- Android稳定性测试工具Monkey的使用
综述 Monkey是一个命令行工具,它可以运行在我们的模拟器或者设备当中.它可以发送一些伪随机(pseudo-random)的用户事件流,例如点击,触摸,手势等.我们能够使用Monkey工具来对我们所 ...
最新文章
- 刚进入大学觉得计算机课很难,高校代码条幅迎新生,00后表示刚开学就感受到秃头压力!程序员太难了...
- 基于互联网云脑架构分析百度的现状与未来
- 网络营销——网络营销专员面对网站优化难题有经验!
- 【原】Ubuntu中安装 mercurial - TortoiseHG
- python循环变颜色_在Python中使用循环变量在matplotlib中指定颜色
- Robo 3T SQL
- python继承多重继承
- ubuntu11.10中配置OGRE1.8
- efcore mysql坑,.net core 2.1 使用ef DBfirst 生成 实体映射遇到的坑 (Pomelo.EntityFrameworkCore.MySql 篇)...
- Dell™ PowerEdge™ R710机架式服务器旨在成为虚拟化企业的构建块
- C#中 As 和强制转换的总结
- android NDK如何解决Please define the NDK_PROJECT_PATH variable to point to it
- 京东类目如何修改,批量修改京东分类教程
- ThinkPHP内核全行业小程序运营管理系统源码 自由DIY布局 一键生成小程序
- linux--服务器降频
- 阿里云 ACP 认证,分享下经验心得
- 微信扫码登录只能填一个授权回调域问题
- sqli-labs靶场challenges第54-75关(超详细)
- 表情包-Emoji符号
- gif动态表情包在线制作的操作技巧
热门文章
- 华为手机怎么强制关机_华为忘记锁屏密码怎么办?多品牌手机通用解锁密码
- linux内核的I2C子系统详解4——i2c-s3c2410.c文件中的adapter、algorithm
- c#: 任务栏进度显示(TaskbarManager)
- bzoj 2653 洛谷 P2839 [国家集训队] middle
- 从你的全世界路过-论演员的自我修养
- java基础-public/private/protected的具体区别
- 【转】构建微服务架构的最佳实践2/3
- tomcat GET 编码疑惑
- Android下常见的内存泄露 经典
- 64 位 win7(2008 r2) 使用PLSQL Developer x86 32bit的解决方法