adb近期使用总结
2018-06-05 本文已影响68人
dittoyy3991
手机按键:menu、back、home、search
用户体验测试
不要放弃小白用户
不要放弃低配机型
==好的产品不是体现在用户多,赚钱多,而是用户体验好,有粘性
测试大纲
1.UI测试
2.功能测试
3.压力
4.兼容测试
5.稳定性测试
6.用户体验
7.性能测试
8.安全测试
9.安装卸载
10.后台统计
11.增值业务
12.更新测试
13.权限整理
==monkey命令
adb shell monkey packagexx --ignore-timeouts 1000
在monkey测试中常用的命令组合有:
1 monkey -p com.yourpackage -v 500//简单的输出测试的信息。
2 monkey -p com.yourpackage -v -v 500 //以深度为二级输出测试信息。
3 monkey -p com.yourpackage -s 数字 -v 500//为随机数的事件序列定一个值,若出现问题下次可以重复同样的系列进行排错。
4 monkey -p com.yourpackage -v --throttle 3000 500//为每一次执行一次有效的事件后休眠3000毫秒。
monkey的log
Monkey finished这个字段表明本次的Monkey没有异常,测试通过。
CRASH表明有进程出现问题,测试不通过。
ANR测试对象出现了无响应的现象,因此测试不通过。--throttle <毫秒>值建议为500
(1)crash 闪退;
(2)exception 异常;
(3)force closed 强制退出
(4)anr (application no response)程序无响应
==adb命令
#系统日志输出
adb logcat -v threadtime > androd.log
#检查package
aapt dump badging packagexx
adb shell "logcat | grep "Displayed" " 点击需要测试的应用就可以看到包名
#删除系统应用
先将设备改为可读可写adb remount
在通过adb shell 进入到/system/app rm掉
#文件双向传递
adb pull /sdcard/sss.png d:test
adb push d:test /sdcard/sss.png
#获取ui控件元素
adb shell uiautomator dump
UI hierchary dumped to: /storage/emulated/legacy/window_dump.xml
#列出设备上输入法
adb shell ime list -s
com.google.android.inputmethod.pinyin/.PinyinIME
#选择输入法
adb shell ime set com.xxx
#分辨率
adb shell wm size
#录mp4
adb shell screenrecord sdcard/record.mp4
执行命令后操作手机,ctrl + c 结束录制,录制结果保存至 sdcard
#截图
adb shell screencap -p /sdcard/screen.png
#获取设备分辨率
adb shell wm size Physical size: 1080x1920
#拨打电话
adb shell am start -a android.intent.action.CALL -d tel:10086 Starting: Intent { act=android.intent.action.CALL dat=tel:xxxxx }
#键鼠模式模拟输入
adb shell input tap 500 500
adb shell input swipe 900 500 100 500
adb shell input keyevent KEYCODE_HOME
adb shell input text test123456
#结束与启用服务
am force-stop , 后跟包名,结束应用
am startservice , 启动一个服务
#pm列出已装应用
adb shell pm list package
-s:列出系统应用
adb shell pm list package -s
-3:列出第三方应用
adb shell pm list package -3
-f:列出应用包名及对应的apk名及存放位置
adb shell pm list package -f
-i:列出应用包名及其安装来源
#查看指定应用的dump信息?
adb shell pm dump com.xx.xx
#pm clear , 清除应用数据
#安装卸载 -r覆盖安装哈
目标 apk 存放于 PC 端,请用 adb install 安装
目标 apk 存放于 Android 设备上,请用 pm install 安装
pm uninstall , 卸载应用,同 adb uninstall , 后面跟的参数都是应用的包名
pm set-install-location , pm get-install-location , 设置应用安装位置,获取应用安装位置
[0/auto]:默认为自动
[1/internal]:默认为安装在手机内部
[2/external]:默认安装在外部存储
#am之类的
§ am force-stop , 后跟包名,结束应用
§ am startservice , 启动一个服务
§ am broadcast , 发送一个广播
§ am monitor , 监控 crash 与 ANR
#am启动应用测时间
adb shell am start -W com.xx.xx/.MainActivity
#电量消耗信息
adb shell dumpsys batterystats
adb shell dumpsys batterystats com.xx.xx
#记录apk安装路径
adb shell pm path com.xx.xx
#导出apk到pc
adb shell pull [apk安装路径] xx.apk
#内存消耗
adb shell dumpsys meminfo com.xx.xx
#cpu消耗
adb shell dumpsys cpuinfo com.xx.xx
#性能用到的
#top==adb shell 下
top -s cpu -m 5
cpu占用最高的5个进程
top -m 10|grep xx
adb shell cat /proc/cpuinfo
adb shell cat /proc/meminfo
adb shell dumpsys meminfo $pid
adb shell dumpsys meminfo $packageName
#offline时候解决办法
adb kill-server/start-server
重启手机=开发者模式
查看端口是否被占用很有可能是360
==手机系统系列
#查看全部属性
C:\Users\xx>adb shell getprop > d:/prot.txt
#查看机器的序列号
C:\Users\zejun>adb shell getprop ro.serialno
#查看机器的CID号
C:\Users\zejun>adb shell getprop ro.carrier
#查看SPL(Hboot)版本号
C:\Users\zejun>adb shell getprop ro.bootloader
#重启手机
adb reboot
#重启手机到recovery界面
adb reboot recovery
#重启手机到bootloader界面
adb reboot bootloader
adb shell service list
#扒拉日志到本地
adb pull /sdcard/log/ D:/log1/
#查看bug报告
adb bugreport
#在logogcat 里面打印你设定的信息
adb shell log -p d -t xx "test adb shell"
-p:优先级,-t:tag,标签,后面加上 message
#
adb logcat -v time -s xx
#adb shell getprop ro.build.version.sdk获取设备的 sdk 版本、设备参数键值对
#linux命令依旧适用
cat、cd、chmod、cp、date、df、du、grep、kill、ln、ls、lsof、netstat、ping、ps、rm、rmdir、top、touch、重定向符号 ">" ">>"、管道 "|"
#文件写入
运行写入pc
adb shell monkey -p com.android.settings 5000 > d:\monkey.log
运行写入安卓机加引号
adb shell "monkey -p com.android.settings 5000 > sdcard/monkey.log"
#几个ss内存的区别
VSS Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)
RSS Resident Set Size 实际使用物理内存(包含共享库占用的内存)存在重复计算
Pss(proportional set size)是占用的私有内存加上平均分配的共享内存。
Uss(unique set size)是私有内存,如果应用程序被终止了,这部分内存的将被释放。
#查看内存泄漏
DDMS
Update Heap
GC查看一下Heap的使用情况
Heap抓出来分析Dump HPROF file
MAT内存分析公共 memory analysis
a.bat
set process=com.xx.xx #需要测试的进程名
@adb shell dumpsys meminfo %process% | findstr "Pss"
:m
@adb shell dumpsys meminfo %process% | findstr "TOTAL"
@ping -n 5 127.1>nul
@goto m
adb shell am dumpheap com.xx.xx /sdcard/test.hprof
执行失败
=-=mat分析未成功?
下次再试