monkey命令——压力测试——转载参考09
转载:https://blog.csdn.net/xiangyunwan/article/details/71642114
一、Monkey 是什么?
Monkey 就是SDK中附带的一个工具。
二、Monkey 测试的目的?
:该工具用于进行压力测试。 然后开发人员结合monkey 打印的日志 和系统打印的日志,结局测试中出现的问题。
三、Monkey 测试的特点?
Monkey 测试,所有的事件都是随机产生的,不带任何人的主观性。
四、Monkey 命令详解
1).标准的monkey 命令
adb shell] monkey [options] <eventcount> ,
例如:adb shell monkey -v 500 --------产生500次随机事件,作用在系统中所有activity
(其实也不是所有的activity,而是包含 Intent.CATEGORY_LAUNCHER 或Intent.CATEGORY_MONKEY 的activity)。
上面只是一个简单的例子,实际情况中通常会有很多的options 选项
2).四大类—— 常用选项 、 事件选项 、 约束选项 、 调试选项
常用选项:
--help:打印帮助信息
-v:指定打印信息的详细级别,一个 -v增加一个级别 , 默认级别为 0 。
-s:指定产生随机事件种子值,相同的种子值产生相同的事件序列。如: -s 200
--throttle:每个事件结束后的间隔时间——降低系统的压力(如不指定,系统会尽快的发送事件序列)。如:--throttle 100
--pct-touch:指定触摸事件的百分比,如:--pct-touch 5% , 相关的还有以下option:
--pct-motion <percent> (滑动事件)、
--pct-trackball <percent> (轨迹球事件) 、
--pct-nav <percent> (导航事件 up/down/left/right)、
--pct-majornav <percent> (主要导航事件 back key 、 menu key)、
--pct-syskeys <percent> (系统按键事件 Home 、Back 、startCall 、 endCall 、 volumeControl)、
--pct-appswitch <percent> (activity之间的切换)、
--pct-anyevent <percent>(任意事件)
-p:指定有效的package(如不指定,则对系统中所有package有效),一个-p 对应一个有效package, 如:-p com.ckt -p com.ckt.asura;
-c:activity必须至少包含一个指定的category,才能被启动,否则启动不了;
--dbg-no-events:初始化启动的activity,但是不产生任何事件。
--hprof:指定该项后在事件序列发送前后会立即生成分析报告 —— 一般建议指定该项。
--ignore-crashes:忽略崩溃
--ignore-timeouts:忽略超时
--ignore-security-exceptions:忽略安全异常
--kill-process-after-error:发生错误后直接杀掉进程
--monitor-native-crashes:跟踪本地方法的崩溃问题
--wait-dbg:知道连接了调试器才执行monkey测试。
来张图吧:
一个简单的monkey命令:
adb shell monkey -p com.xy.android.junit -s 500 -v 10000
但是,工作中为了保证测试数量的完整进行,我们一般不会在发生错误时立刻退出压力测试。
monkey 测试命令如下:
adb shell monkey -p com.xy.android.junit -s 500 --ignore-crashes --ignore-timeouts --monitor-native-crashes -v -v 10000 > /sdcard/monkey_log.txt
注意保存到Pc上的并没有实验成功,但是保存到手机上的log却可以正常拿到,为啥?是因为命令是在手机上跑的原因?
代码效果:
monkey作用的包:com.ckt.android.junit
产生时间序列的种子值:500
忽略程序崩溃 、 忽略超时 、 监视本地程序崩溃 、 详细信息级别为2 , 产生 10000个事件 。
摘录小米monkey测试命令:
adb shell monkey -v –-throttle 300 –-pct-touch 30 –-pct-motion 20 –-pct-nav 20 –-pct-majornav 15 –-pct-appswitch 5 -–pct-anyevent 5 -–pct-trackball 0 -–pct-syskeys 0 -p ‘%s’ 1000
这个命令更加人性化一些,屏幕点击和滑动事件处理的更好一些!
总结命令格式:
1.保存在手机中 adb shell monkey [option] <count> >/mnt/sdcard/monkey.txt
2.标准流与错误流分开保存 monkey [option] <count> 1>/mnt/sdcard/monkey.txt 2>/mnt/sdcard/error.txt
五、Monkey Log分析:
2.1、Monkey结果分类
异常结果:
Java常见错误类型
更详细内容参见:
http://www.cnblogs.com/TankXiao/p/4815134.html
http://www.cnblogs.com/zyanrong/p/5417535.html
monkey命令——压力测试——转载参考09相关推荐
- monkey命令——压力测试——转载参考03
转载:https://blog.csdn.net/u011649536/article/details/45043781?utm_source=blogxgwz9 简要步骤:adb devices-- ...
- ab命令压力测试攻击
ab命令压力测试攻击 注:本尘埃の客栈所有文章均为技术分享,用于研究和复现漏洞,请勿非法用于其他用途,否则后果自负! ab命令攻击 ab命令全称为:Apache bench .是Apache自带的压力 ...
- 测试经理教你如何用monkey进行压力测试!
一. monkey是什么 1. monkey程序由android系统自带,使用Java语言写成,在Android文件系统中的存放路径是:/system/framework/monkey.jar 2. ...
- ab命令压力测试网站性能
网站性能压力测试是服务器网站性能调优过程中必不可缺少的一环.只有让服务器处在高压情况下,才能真正体现出软件.硬件等各种设置不当所暴露出的问题. 性能测试工具目前最常见的有以下几种:ab.http_lo ...
- 对安卓手机上的APP做monkey压力测试
之前对安卓手机上的APP做了monkey测试,今天来总结一下如何使用安卓自带的monkey命令去做测试. 首先,PC端要对安卓手机进行monkey测试的话,必须要有以下条件: 1.电脑中必须配有ADB ...
- android 获取monkey日志_Android压力测试:monkey压力测试实战
主要分享的主题是 Android App 专项测试, 通过 monkey 进行压力测试. 一.测试步骤 1.安装ADB 2.连接被测手机和电脑 3.打开CMD命令行 4.输入monkey命令 adb ...
- 程序压力测试、性能测试AB、Webbench、Tsung
负载生成器是一些生成用于测试的流量的程序.它们可以向你展示服务器在高负载的情况下的性能,以及让你能够找出服务器可能存在的问题.为了得到更加客观和准确的数值,应该从远程访问.局域网访问和本地等多个方面 ...
- Android App压力测试
前言:写这篇文章的目的,一是因为不少同学作为Android开发,很少会自己去做压力测试,不了解相关的技术,不知道压力测试是什么.怎么工作的:二是询问过身边的一些测试同学,他们进行压力测试的时候,很多情 ...
- 服务器压力测试 性能测试 AB、Webbench、Tsung
负载生成器是一些生成用于测试的流量的程序.它们可以向你展示服务器在高负载的情况下的性能,以及让你能够找出服务器可能存在的问题.为了得到更加客观和准确的数值,应该从远程访问.局域网访问和 ...
- Android内存压力测试工具(memtester移植)
该文章转载于: android用memtester内存压力测试_W歹匕示申W的博客-CSDN博客 Android内存压力测试工具(memtester移植)_甜牛奶蛋糕的博客-CSDN博客_androi ...
最新文章
- atom 中首次使用git_使用Atom获得更好的Git提交消息
- java二维数组矩阵_java使用二维数组开发五子棋
- 《Python数据分析》-Ch01 Python 程序库入门
- ubuntu百度网盘下载大文件
- TF之LiR:基于tensorflow实现手写数字图片识别准确率
- 最详细的最小堆构建、插入、删除的过程图解
- eclipse 函数折叠展开
- 使用Model-View-ViewModel使用Dart Streams使Flutter中的代码更清晰
- web端log4net输出错误日志到mysql
- Security+ 学习笔记56 增强隐私保护的技术
- 《(学习笔记)两天进步一点点》(3)——应用BindingSource实现数据同步
- MySQL 如何删除有外键约束的表数据
- leetcode 排列组合系列
- pythoneducoder苹果梨子煮水的功效_荸荠和梨子一起煮的好处
- 那些年,Github上的干货!
- MySql无法连接本地地址localhost
- uni-app注册全局组件
- 用css给video视频标签上添加渐变效果
- IDEA 各种疑难杂症
- 2021最新整理JAVA常见面试题附答案
热门文章
- Swing绝对布局之setBounds
- 数字图像处理与Python实现笔记之图像压缩
- 记一次利用tomcat manager部署war包失败并解决的经历
- 如何帮银行保持长期竞争力?融360天机公布独家秘诀
- Java 1082 射击比赛
- 对Java语言入门初学者的一些建议
- bzoj-1270 [BeijingWc2008]雷涛的小猫
- 【论文】Deep Pyramidal Residual Networks(译)
- 40.用创业思维复盘:写技术博客到出书
- Codeforces Round #612 (Div. 2) C. Garland题解