一、adb相关知识体系
1,adb的使用场景
操作手机设备
app自动化测试
2,adb测试体系
app自动化测试-appium
遍历测试-appcrawier
app性能测试
app专项测试
STF设备管理平台
云测平台
兼容性测试
二、adb 基础
1,什么是adb
Adb是用来操作Android手机设备的,Android Debug Bridge
2、adb环境搭建
安装jdk 和 adb工具包
3、如何连接手机设备及查看设备状态
adb devices查看是否连接,如果没有连接则进行连接
adb get-state 查看是否连接,如果连接了则返回device,如果连接异常则返回offiine,如果未授权则返回unauthorized
常见的模拟器有mumu、雷电、夜神、genymotion
4,adb命令格式/启动关闭adb服务
格式:
adb [-d|-e|-s <serialNumber>] <command>
-d指定当前唯一通过Usb连接的Android设备为命令目标
-e 指定当前唯一运行的模拟器为命令目标
-s 指定相应的设备为命令目标(重点)
5,安装/卸载
安装:
普通安装 adb install <apk路径>
覆盖安装/替代安装 adb install -r <apk路径>
允许降级覆盖安装 adb intall -d -r <apk路径>
卸载:
adb uninstall 包名 卸载应用(删除配置文件,不保留数据缓存信息)
adb unintall -k 报名 卸载应用(不删除配置文件,保留数据缓存信息)
6,如何启动页面
包和Activity(活动页)的概念
package包:Android应用的唯一标志
Activity活动页:Android应用页面,一个页面就是一个Activity
获取当前包名和活动页名
adb shell “dumpsys window | grep mCurrentFocus”
响应的前半段是包名,后半段是活动页名
启动指定页面名
adb shell am start -n 包名/活动页[或启动页]的类名
获取启动页面的activity
Mac:adb logcat ActivityManager:I | grep “cmp” 日志信息的第一个cmp后面的内容
Win:adb logcat ActivityManager:I | findstr “cmp” 日志信息的第一个cmp后面的内容
7,如何清理应用缓存
查看目录结构:adb shell ls
查看系统当前日期:adb shell date
查看系统CPU使用情况:adb shell cat/proc/cpuinfo
查看系统内存使用情况:adb shell cat/proc/meminfo
显示所有应用:adb shell pm list packages
显示系统自带应用:adb shell pm list packages -s
显示第3方应用:adb shell pm list packages -3
清除缓存信息:adb shell pm clear <包名>
注:所有的包信息都保存在了/data/data/目录下了,可以进去查看是否缓存的文件包已被删除
三、adb进阶
1,设备与电脑传输文件
往移动端输入内容:adb shell input text 要输入的内容
adb push 电脑路径 设备路径
adb pull 设备路径 电脑路径
2,如何查看系统日志
日志级别
V-明细verbose(最低优先级)
D -调试debug
I-信息info
W-警告warn
E-错误error
F-严重错误 fatal
S-无记录silent(最高优先级,绝不会输出任何内容)
Adb logcat
查看日志常用参数
adb logcat 打印默认日志信息
adb logcat -V time 打印时间
adb logcat -V color 使用不同颜色来显示每个优先级
adb logcat -f <filename>将日志输出到文件
adb logcat > log.log保存日志到PC上
adb logcat -C 清理已存在的日志
adb logcat -v time “*:W” 打印Warning及以上级别日志
adb logcat ActivityManager:D “*:S” 过滤tag为ActivityManager,level为Debug及以上级别的日志,”*:S”是把其它日志设置为了静默模式,不进行展示
注:常见崩溃类型崩溃 | App quality | Android Developers
3、adb模拟按键行为
打开【指针位置】设置
执行adb shell input命令
①模拟点击事件
adb shell input tap x坐标 y坐标 点击后抬起来
②模拟输入事件
adb shell input text 输入文本(暂不支持中文)
③模拟滑动事件
adb shell input swipe x1 y1 x2 y2
adb shell input swipe x1 y1 x2 y2 time(ms)
④模拟手机按键
返回键:adb shell input keyevent 4
Home键:adb shell input keyevent 3 (置应用于后台运行)
音量放大:adb shell input keyevent 24
音量缩小:adb shell input keyevent 25
注:手机按键对于序号https://developer.android.google.cn/reference/android/view/KeyEvent
4,查看应用的性能指标
查看当前系统CPU使用情况:
ab shell dumpsys cpuinfo 一段时间内CPU的平均值
adb shell dumpsys meminfo
adb shell dumpsys meminfo <应用包名>
top命令
adb shell top
adb shell top | grep/findstr “包名” 实时查看某个包的一些性能指标
adb shell top -d 1 | grep/findstr “包名” 每隔一秒刷新一次性能指标
手机电量
adb shell dumpsys battery
注: 文档 | Android 开发者 | Android Developers 更多的adb shell dumpsys命令
5,adb实现monkey压力测试
四、adb 应用
1,云测平台
2、Appium
3、设备管理平台
APP移动端测试篇暂时结束,之后再把缺的内容补上,欢迎去我的主页观看更多和技术相关的文章~