有关Monkey命令的两个隐藏选项
一般Android App的测试过程,常用的Monkey选项如同官网中所列,但如果看Monkey源代码或则通过 monkey --help,还是能找到一些有意思的东西。
其中,有2个网页中没有提到的选项。
- --bugreport
- --hprof
bugreport 其实对应的是一个叫做bugreport的工具,可以运行adb bugreport观察,它提供了那个时刻系统非常多的信息,从meminfo,cpuinfo,vmstat到dmesg,buildprop等信息,多到想不到。有兴趣的,可以google之。
当这个标签在Monkey的运行中标识的时候,每当Monkey运行时发现AppCrash,anr,system not responding的时候,Monkey就会自动记录错误时的信息。
// Write the bugreport to the sdcard.private void getBugreport(String reportName) {reportName += MonkeyUtils.toCalendarTime(System.currentTimeMillis());String bugreportName = reportName.replaceAll("[ ,:]", "_");commandLineReport(bugreportName + ".txt", "bugreport");}
可以在 /mnt/sdcard里面找到类似于app_crashnet.crimoon.pm.a91_2014-07-29_01_01_22.990_.txt 这样的文件。每个问价有15MB到20MB大小,内容翔实,乃是开发debug之宝。
hprof的作用就是,在monkey开始之前和结束之后(正常结束,被kill的不算),会调用如下代码
/*** Send SIGNAL_USR1 to all processes. This will generate large (5mb)* profiling reports in data/misc, so use with care.*/private void signalPersistentProcesses() {try {mAm.signalPersistentProcesses(Process.SIGNAL_USR1);synchronized (this) {wait(2000);}} catch (RemoteException e) {System.err.println("** Failed talking with activity manager!");} catch (InterruptedException e) {}}
这个代码的作用,就是对于所有persistent的process,获取它的hprof信息,类似于对于所有的persistent应用 kill -10 pid。它的好处也不言而喻,hprof文件出来了,找内存泄漏还远么。
有一点要吐槽的是,注释里面明明说 /data/misc里面记录该文件,实际上,还是保存在了 /mnt/sdcard 里面。文件名类似于 com.aliyun.ams.assistantservice_hprof_dump20140728203235.prof。一般每个文件大约5MB,也看到过 com.android.systemui,比较夸张,有25MB。
可见,这个开关对于测试整个系统的内存泄漏,还是会有比较大的帮助的。
转载于:https://www.cnblogs.com/ruskee/p/5293290.html
有关Monkey命令的两个隐藏选项相关推荐
- Monkey测试4——Monkey命令行可用的全部选项
Monkey命令行可用的全部选项 常规 --help 列出简单的用法. -v 命令行的每一个-v将增加反馈信息的级别. Level 0(缺省值)除启动提示.测试完成和最终结果之外,提供较少信息. Le ...
- monkey命令_随机测试工具猴子monkey
随机测试工具猴子-monkey 一,什么是monkey? monkey是Android中的一个命令行工具,可以运行在模拟器和实际设备里, 它通过向系统发送伪随机的用户事件流(比如按键输入,触摸屏输入, ...
- Android自动化测试之Monkey命令使用及monkey脚本编写
系列文章 Android自动化测试环境部署及adb sdkmanager avdmanager Monitor DDMS工具使用及命令详解 Android自动化测试之Monkey使用及monkey脚本 ...
- app测试(手机自动化测试)----(含adb命令,monkey命令)
[持续更新中] 1.环境搭建: (1). 安装 jdk1.8 [测试 java -version] [appium 运行需要] (2). 安装 sdk [appium 运行需要 ][不要写中文路径,不 ...
- adb与monkey命令的联合使用
在移动自动化测试中,通常是需要adb命令和monkey命令的联合使用来进行测试,adb命令何其多,monkey命令也不少,组合起来让人头疼,本文讲列出一些常用的命令,帮助大家更好地进行移动自动化测试 ...
- monkey命令_何小伟:Monkey与MonkeyRunner区别
为了支持黑盒自动化测试的场景,Android SDK提供了monkey和monkeyrunner两个测试工具,这两个测试工具除了名字类似外,还都可以向待测应用发送按键等消息,往往容易产生混淆,以下是他 ...
- Android 系统(212)---monkey实战–测试步骤、常用参数、常规monkey命令
monkey实战–测试步骤.常用参数.常规monkey命令 [转]monkey实战–测试步骤.常用参数.常规monkey命令 ***(本文转自:https://blog.csdn.net/u01164 ...
- 计算机属性高级是灰色的,Win10文件夹属性隐藏选项为灰色不可勾选怎么办?
Win10文件夹属性隐藏选项为灰色不可勾选怎么办?相約不如偶遇,如果您偶遇这个问题,可以尝试下面的方法,最可恨有些人将这个问题归咎于病毒,有些文件或者文件夹,实际属性如此,并非被病毒惦记上了.动不动就 ...
- 3D MAX入门篇(1)常用快捷命令及两种基础建模方式
3D MAX入门篇(1)常用快捷命令及两种基础建模方式 基于图片的对程型模型----画线式建模 1.在界面画一个平面 2.调整平面大小,确认与要插入的图片尺寸一样 3.通过添加样条线绘制出模型的一半 ...
最新文章
- 诊断IIS中的ASP0115错误
- 1、SpringBoot整合JPA
- Java线程中的资源共享问题
- 溢信服务转型之代理商技术培训
- 【linux】linux 安装 redis
- Spring boot 连接Redis实现HMSET操作
- postgresql 先创建唯一主键 再分区_PostgreSQL 务实应用(三/5)分表复制
- 计算机中的进制位运算
- TE和TM主模式的介绍
- cocos2d-x-3.x 场景(3)场景切换特效
- netconsole 重定向kernel日志到远程服务器
- 2.Modbus通信协议-软件调试4个工具软件(推荐)
- 用matlab做bp神经网络预测,matlab神经网络怎么预测
- PC客户端(CS架构)如何实现抓包
- wps忘保存关闭,数据恢复步骤
- 推荐10篇2021年服装设计相关毕业论文文献
- duck typing
- 为什么ArrayList查询效率高,删除效率慢
- Golang seelog 使用入门简介
- 今天来个好玩儿的 “ 反射 ”