APP测试辅助工具
辅助测试工具——Android logcat
Logcat 是 Android 编程中一个命令行工具 , 可以用于得到程 序的 log 信息,可以在adb中使用,也可以直接在命令行下使用。关键是 Logcat可以捕捉到bug相关log日志,便于协助开发人员修复bug。
1.启动logcat 可以在PC端使用adb logcat命令,也可以在Shell模式下使用 logcat命令。
在使用logcat工具时,通过在命令中增加不同的选项,可以进一步控制logcat收集和过滤系统日志的方式。
1.adb logcat > 盘符:\路径\文件名.log
导出logcat信息为windows本地文件(不能先adb shell,否则不能访问windows 文件目录)
!](https://img-blog.csdnimg.cn/78608ea3d9024024aff0482dcac14485.png#pic_center)
2.logcat -f
在没有使用-f选项时,logcat默认将收集的日志输出到标准输出设备(屏幕)上,通过-f选项可以让logcat将收集到的日志信息以文件形式保存在Android系统的指定路径下,如果想要停止捕获日志,则按下Ctrl+C组合键。
3.logcat -s <标签>:<优先级>
进一步过滤日志,设置只显示指定标签某个等级及以上的日志信息。
在Android系统中日志的等级(优先级)包括:
V:Verbose(明细)
D:Debug(调试)
I:Info(信息)
W:Warn(警告)
E:Error(错误)
F:Fatal(严重错误)
4.logcat -r <数值>
用于设置每个日志文件的大小,单位为KB,默认大小为每个日志文件16KB。
-r参数需要与-f参数一起使用才会有效(-f选项的使用要在-s前)
- logcat -n <数值>
用于设置保存的日志文件数量,默认为4
-n参数需要与-r参数一起使用才会有效。
- logcat -t <数值>
输出最近的指定数量日志信息,输出完成后退出。
- logcat -v <格式>
用于设置logcat工具输出的日志格式
默认的格式:优先级/标签(进程ID)
logcat -v time:显示系统时间
logcat -v thread:显示线程ID
logcat -v long:显示所有头信息(时间、进程ID、线程ID、优先级、标签)
8.logcat -b <缓冲区>
加载一个指定缓冲区的日志,因为android系统中日志输出量巨大,因此android把log输出到不同的缓冲区中,目前定义了4个log缓冲区。
Radio:输出通信系统的log
System:输出系统组件的log
Event:输出event模块的log
Main:所有java层的log和不属于上面3层的log
9.logcat | grep
过滤指定pid进程的日志信息(不能在adb logcat方式下使用,windows不识别grep命令)
辅助测试工具-Android DDMS
Android SDK\tools目录中有一个自带的调试工具DDMS,可以通过双击ddms.bat来运行。
主界面(手机root后才会显示所安装应用):
查看内存占用:
DDMS中自带的Heap,它可以显示当前应用占用的内存,剩余的内存等信息,比如开发设计一个文档管理库,则难点就是如何应对数量庞大的文档,就设计到内存管理的只是,就用到了VM Heap:
第1步:选择要测试的APP应用,其余跟着下图中的步骤点击即可。
在data object一行中有一列是“Total Size”,其值就睡当前进程中所有Java对象的内存总量,一般情况下这个值决定了是否会有内存泄漏。
1)不断操作当前应用,同时注意观察data object 的Total Size的值;
2)正常情况下Total Size值会稳定在一个有限的范围内,若该值在每次GC(上图第4步)后不会有明显的回落,随着操作次数的增多,Total Size值会越来越大,直到到达一个上限后导致该进程被kill掉。
Logcat面板 — 查看并保存日志
Android日志系统提供了记录和查看系统调试信息的功能,如下图:可进行查看可保存Logcat日志。