欢迎大家来到IT世界,在知识的湖畔探索吧!
本文转自测试人社区,原文链接:jck28 – 小柒 – adb常用命令 – 学习笔记 – 测试人社区
一,adb介绍
1.1,简介
- Android Debug Bridge(Android 调试桥)简称 adb
- Android sdk 中提供的用于管理模拟器或真机状态的工具
- 命令行工具
1.2,adb 操作手机设备
- 打开应用adb shell am start -n com.tencent.wework/.launch.LaunchSplashActivity
- 传输文件
- 点击,输入,滑动等
- 硬件操作 返回,回到首页
- 性能指标
1.3,adb 工作原理
- 采用了客户端-服务器(C/S)模型,包括三个部分:
- 客户端 client
- 服务端 server
- 守护进程 daemon
1.4,adb 环境搭建与配置
(1) Java 环境安装与配置
- /javase/javase-jdk8-downloads.html
- 注意:windows 下载 exe 安装包即可
- j配置Java环境变量:
(2)Android SDK 环境安装
- SDK 下载
- SDK 环境配置
ANDROID_HOME D:\adt-bundle-mac-x86_64-\sdk PATH %ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools
欢迎大家来到IT世界,在知识的湖畔探索吧!
(3)检查是否安装成功
- adb 回车(或者 adb shell )
二,adb常用命令
2.1 adb 与设备交互
(1)连接模拟器 (mumu 为例)
- windows:
- adb connect 127.0.0.1:7555
- adb devices
- mac:
- adb kill-server
- adb devices
(2)连接真机(android 手机)设备
- 手机端:让手机处于一个调试模式
- 电脑端安装手机驱动
(3)查看手机设备状态
- 命令:
- adb devices
- adb get-state
- 设备状态种类
- device 正常
- offline 连接出现异常,设备无响应
- unauthorized 未授权
2.2 adb 安装卸载命令
(1) adb 命令格式
- 格式 :adb [-d|-e|-s <serialNumber>]<command>
- -d 指定当前唯一通过 Usb 连接的 android 设备为命令目标(了解)
- -e 指定当前唯一运行的模拟器为命令目标(了解)
- -s 指定相应的设备为命令目标(重点)
(2) 安装
- 普通安装 adb install <apk路径>
- 覆盖安装/替代安装 adb install -r <apk路径>
(3) 卸载
- 卸载应用:adb uninstall 包名
- 卸载应用(不删除配置文件,保存数据缓存信息):adb uninstall -k 包名
2.3 adb命令启动页面
(1) 包和 Activity(活动页)的概念
- package 包:是 Android 应用的唯一标志
- Activity 活动页: Android 应用页面,一个页面就是一个 Activity
(2) 获取当前的页面名
- 打开手机 app 应用的某个页面
- 打开命令行工具
- 执行命令:adb shell “dumpsys window | grep mCurrentFocus” 获取当前的页面名
(3) 获取启动页面的 activity
- 执行命令:
- mac:adb logcat ActivityManager:I | grep “cmp”
- win:adb logcat ActivityManager:I | findstr “cmp”
(4) 启动页面
- 执行命令:adb shell am start -n <包名>/<avticity名>
2.3 adb清缓存命令
(1) adb shell 应用
- 查看目录结构:adb shell ls
- 查看系统当前日期:adb shell date
- 查看系统 CPU 使用情况:adb shell cat /proc/cpuinfo
- 查看系统内存使用情况:adb shell cat /proc/meminfo
(2) 查看应用列表
- 显示所有应用:adb shell pm list packages
- 显示系统自带应用:adb shell pm list packages -s
- 显示第 3 方应用:adb shell pm list packages -3
(3)清除应用数据及缓存
- adb shell pm clear <包名>
2.4 adb文件传输
- adb push 电脑路径 设备路径
- adb pull 设备路径 电脑路径
2.5 adb日志操作
(1)日志级别
- V — 明细 verbose(最低优先级)
- D — 调试 debug
- I — 信息 info
- W — 警告 warn
- E — 错误 error
- F — 严重错误 fatal
- S — 无记载 silent(最高优先级,绝不会输出任何内容)
(2)查看日志
- adb logcat
(3)查看日志常用的参数
- adb logcat –help
- adb logcat [TAG:LEVEL ] [TAG:LEVEL ] …
- adb logcat 打印默认日志数据
- adb logcat -v time 打印时间
- adb logcat -v color 使用不同的颜色来显示每个优先级
- adb logcat -f <filename> 将日志输出到手机文件,filename为手机文件的路径地址
- adb logcat > log.log 保存日志到PC上
- adb logcat -c 清理已存在的日志
三,App压力与性能测试
3.1 adb 模拟手机按键操作
- 1、打开【指针位置】设置
- 2、执行 adb shell input 命令,查看可以执行的相关命令
(1)模拟点击事件(打开app)
- 执行命令: adb shell input tap x坐标 y坐标 (x,y坐标为app对应的坐标)
(2) 模拟输入事件
- 打开app页面,将鼠标放到对应的输入框处
- 执行命令: adb shell input text <输入内容>
(3) 模拟滑动事件
- adb shell input swipe <起点x> <起点y> <终点x> <终点y> <滑动时长>
(4) 模拟手机按键
- 返回键:adb shell input keyevent 4
- Home 键:adb shell input keyevent 3(置应用于后台运行)
- 音量放大:adb shell input keyevent 24
- 音量缩小:adb shell input keyevent 25
3.2 adb性能分析
(1) CPU 和内存使用情况
- 查看当前系统 CPU 使用情况:adb shell dumpsys cpuinfo(查看某一时段内的均值)
- 查看当前系统的内存:adb shell dumpsys meminfo
- 查看某个应用的内存:adb shell dumpsys meminfo <应用名>
(2)top 命令
- adb shell top
- adb shell top |grep “包名” 查看某个包的一些性能指标
- adb shell top -d 1 |grep “包名”
(3)电池电量
- 命令:adb shell dumpsys battery
3.3 adb压力测试
(1)Monkey 介绍
- Monkey 是 Google 提供的一个用于稳定性与压力测试的命令行工具
- 可以运行在模拟器或者实际设备中
- 它向系统发送伪随机的用户事件对软件进行稳定性与压力测试
(2) Monkey 基本用法
- 在命令提示符中输入 adb devices 查看有无连接的设备
- 确认有设备连接
- 获取 app 的包名
- adb shell monkey [参数] {随机发送事件数}
- 最简单的 monkey 命令:adb shell monkey 100
(3) Monkey 常用选项
- -v :用于指定反馈信息级别,总共分 3 个级别
- adb shell monkey -v -v -v 10
- -s <seednumber>:用于指定伪随机数生成器的 seed(种子)值
- adb shell monkey -s 123 10
- –throttle <milliseconds>:每个事件结束后的间隔时间
- adb shell monkey –throttle 300 10
- -p: 用于约束限制,用此参数指定一个或多个包
- adb shell monkey -p com.android.browser 10
- –ignore-crashes:忽略崩溃
- –ignore-timeouts:忽略超时
- –ignore-security-exceptions:忽略安全异常
- –ignore-native-crashes:忽略本地代码导致的崩溃异常
- –monitor-native-crashes:跟踪本地方法的崩溃问题
(4)Monkey 事件选项
- –pct-touch:触摸事件
- –pct-motion:滑动事件
- –pct-appswitch:activity 之间的切换
- –pct-pinchzoom:缩放事件
- –pct-rotation:屏幕旋转事件
- –pct-flip:键盘事件
- –pct-anyevent:任意事件
- 注意:所有类型属性比例加起来不能超过 100
(5) Monkey 日志分析
- 程序无响应,ANR 问题:在日志中搜索 “ANR”
- 崩溃问题:在日志中搜索 “CRASH”
- 其他问题:在日志中搜索 “Exception”
软件测试开发免费视频教程分享 – 公众号 – 测试人社区
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/75759.html