目录
目标
一、APP命令格式
1.1 查看已连接的设备列表
1.2 断开连接设备
1.3 无线连接设备
1.4 开启adb服务
1.5 关闭adb服务
1.6 安装软件包
1.7 卸载软件包
1.8 获取包名
1.9 获取当前窗口(注意大小写区分)
1.10 清除缓存
1.11 启动/停止应用
1.12 获取手机日志
1.13 获取启动时间
1.14 获取内存信息
1.15 获取CPU
1.16 获取流量消耗值
1.17 稳定性测试(Monkey)
二、Charles手机抓包
2.1 Charles工具介绍
2.2 Charles工具的使用 —— APP抓包
2.3 Charles工具的使用 —— APP弱网测试
目标
- 能独立说出常用的APP命令格式(内存、CPU、安装、卸载、流量、启动时间、抓取日志)
- 能使用命令测试APP客户端的稳定性(monkey)
- 能抓取手机包(https)
一、APP命令格式
- ADB( Android Debug Bridge) 是一个通用命令行工具,也是Android软件测试开发工作者常用的调试工具
- ADB可以用来安装卸载软件、 管理安卓系统软件、 启动测试、 抓取操作日志等
SDK下载地址:http://tools.android-studio.org/index.php/sdk
ADB下载地址: https://pan.baidu.com/s/1R-XimjkEzhvLfZ0rgjzJIQ ( 提取码: 3hnt)
1.安装安卓SDK
2.安装ADB
3.配置环境变量( 计算机右键—属性—高级系统设置—环境变量--新增系统变量)
① 配置SDK变量
② 配置Path路径
4.启动命令行, 运行adb, 检查安装结果未安装时:
已安装成功:
1.1 查看已连接的设备列表
adb devices
1.2 断开连接设备
adb disconnect 手机ip
1.3 无线连接设备
adb connect 手机ip(手机和电脑处于同一网段)
1.4 开启adb服务
adb start-server
1.5 关闭adb服务
adb kill-server
1.6 安装软件包
adb install /路径/软件包文件名(-r 保留数据 -t 强制覆盖 例如: adb install -r -t /路径/软件包的
文件名)
1.7 卸载软件包
adb uninstall app的包名
1.8 获取包名
# 获取手机里所有的包名
adb shell pm list packages
# 获取手机里所有的系统应用的包名
adb shell pm list packages -s
# 获取手机里所有第三方软件的包名
adb shell pm list packages -3
1.9 获取当前窗口(注意大小写区分)
# Windows:
adb shell dumpsys window | findstr mCurrentFocus
# Mac/linux:
adb shell dumpsys window | grep mCurrentFocus
1.10 清除缓存
adb shell pm clear 包名
1.11 启动/停止应用
# 启动:
adb shell am start 包名/activity名(包名是软件的标识,Activity主要描述app的某个页面)
# 停止:
adb shell am force-stop 包名
1.12 获取手机日志
adb logcat > 本地文件
注意: 执行命令后,手机上操作复现步骤
抓取日志以后重定向到某个文件
'>' : 覆盖文件内容
'>>' : 追加在文件末尾
使用场景: 测试期间记录日志. adb logcat >本地文件
避免问题由于不确定复现步骤而导致无法复现,并且被研发拒绝.
1.13 获取启动时间
adb shell am start -W 包名/activity名
-W :获取时间
-S:启动前强行停止应用 (冷启动的时间)
-R 数字: 启动次数
注意:参数均为大写,顺序可以调整,但-R后必须是数字
1.14 获取内存信息
adb shell dumpsys meminfo 包名
1.15 获取CPU
# 1.
adb shell dumpsys cpuinfo (查看当前CPU占用情况)
# 2.
adb shell top -s 9(代表CPU)
1.16 获取流量消耗值
# 1.获取userId :
adb shell dumpsys package 包名 | findstr userId
# 2.获取上行:
adb shell cat proc/uid_stat/userId/tcp_snd
# 3.获取下行:
adb shell cat proc/uid_stat/userId/tcp_rcv
# 注意:cat后的路径是固定; userId中的'i"是大写; package后不加s
1.17 稳定性测试(Monkey)
# 1.
adb shell monkey -p 包名 数字 -v >本地文件
# 2. -v -v -v :最高级别日志
# 3. 常用命令:
adb shell monkey -p 包名 10000 -v -v -v --throttle 500 > 本地文件
语法: adb shell monkey -p 包名 -v(日志) 次数 >c:\日志.txt
说明:
-p 指定包名 ( 所有命令都在此包内执行, 如不指定, 则在整个系统内执行)
-v log详细程度( 最高支持’ -v -v -v’ 最详细)
--throttle 单步延时( 每步操作间隔, 单位毫秒)
--pct-touch 点击事件
举例:
不控制事件: adb shell monkey – p com.tpshop.malls – v – v 1000 >C:\Users\18810\Desktop\monkey.txt
控制事件: adb shell monkey – p com.tpshop.malls --throttle 100 --pct-touch 50 --pct-motion 50 – v – v 1000 >C:\Users\18810\Desktop\monkey.txt
二、Charles手机抓包
2.1 Charles工具介绍
Charles是一款在Mac下常用的数据包截取工具, 在做移动开发时, 为了调试移动端与服务端的网络通讯协议, 常常需要截取网络数据包来进行分析。
抓包的原理
2.2 Charles工具的使用 —— APP抓包
1. 手机和电脑保持同一网段( 连接同一个WiFi)
2. Charles设置代理
- Proxy->Proxy Sting->修改端口号
- 查看电脑IP( ipconfig)
3. 手机安装证书-01
① 点击Charles菜单栏Help->SSL Proxying->install Charles Root Certificates on a Mobile Device or Remote Browser,可以看到手机端安装证书提示
3. 手机安装证书-02
① 根据以上提示, 打开手机的WiFi设置, 连接和电脑同一个WiFi【 或者连接电脑开启的热点】 , 设置代理IP与端口(代理IP就是电脑的IP, 端口就是Charles的代理端口8888);
② 手机浏览器访问网页, 输入chls.pro/ssl, 出现证书安装页面;
③ 如果是苹果手机, 点击安装后完成, 在设置->通用->关于手机, 信任证书如下图一:
④ 如果是Android手机, 点击下载, 然后在手机设置的安全里面, 安装证书如下图二:
4. Charles确认连接① 手机设置好后, Charles页面会弹出以下信息, 点击“ Allow”
2.3 Charles工具的使用 —— APP弱网测试
弱网测试方法
- SIM卡网络切换
- 实际弱网场景测试( 地铁、 电梯、 停车场)
- 使用软件进行网络代理( Charles)
- ① 保证抓包成功(参考抓包教程)
- ② Charles打开弱网设置配置项
- ③ 设置带宽值
2.打开弱网设置配置项
路径: Proxy->Throttle Settings3.设置带宽值
弱网、 2G、 3G的上下行速率如下:
网络 上行 下行 弱网 10 30 2G 15 50 3G 384 2800