Android端自动化测试基础
一、ADB工具使用
1. 环境搭建
安装Android SDK后adb自动安装成功,环境配置可参考https://blog.csdn.net/weixin_45155047/article/details/108874824?spm=1001.2014.3001.5502
2. ADB常用命令
1) 获取设备列表及设备状态
adb devices
输出格式为 [serialNumber][state],serialNumber 即我们常说的 SN
state 有如下几种
offline —— 表示设备未连接成功或无响应。
device —— 设备已连接。
2) 获取设备详细信息
adb devices -l
3)安装/卸载 apk包
adb install //安装apk包
adb install -r xxx.apk //覆盖安装
adb -s 设备号 install //连接多个设备时指定设备安装
adb unstall 包名 //卸载apk包
4)重启adb服务器
adb start -server //启动adb服务
adb kill -server //结束adb服务
5) adb shell 相关命令 参考文档
adb shell pm list packages s [-f] [-d] [-e] [-s] [-3] [-i] [-u] [--user USER_ID] [FILTER]
查看应用列表,即在 adb shell pm list packages 的基础上可以加一些参数进行过滤查看不同的列表,支持的过滤参数如
参数 | 显示列表 |
---|---|
无 | 所有应用 |
-f | 显示应用关联的apk文件 |
-d | 只显示 disabled 的应用 |
-e | 只显示 enabled 的应用 |
-s | 只显示系统应用 |
-3 | 只显示第三方应用 |
-i | 显示应用的 installer |
-u | 包含已卸载应用 |
FILTER | 包名包含 FILTER字符串 |
获取包名和Activity
Linux/MAC
adb shell dumpsys window|grep mCurrentFocus
或
adb shell logcat | grep START
Windows
adb shell dumpsys window|findstr mCurrentFocus
或
adb shell logcat | findstr START
启动APP/调起Activity
adb shell am start -W 包名/Activity
adb shell am start -W -S 包名/Activity // -S:表示每次启动前先强行停止,S一定要大写
adb shell am start -S -R 5 -W com.xx.xxx/com.xxx.xxx.MainActivity //-R:表示重复测试次数,R一定要大写
强制停止应用
adb shell am force-stop 包名
清除数据与缓存
adb shell pm clear 包名
查看正在运行的 Services
adb shell dumpsys activity services [包名]
包名参数不是必须的,指定包名表示查看与某个包名相关的 Services,不指定表示查看所有 Services。包名不一定要给出完整的包名,可以只给一部分,那么所给包名相关的 Services 都会列出来。
查看应用详细信息
adb shell dumpsys package 包名
运行次命令的输出中包含很多信息,包括 Activity Resolver Table、Registered ContentProviders、包名、userId、安装后的文件资源代码等路径、版本信息、权限信息和授予状态、签名版本信息等
查看网络统计信息
adb shell netstat
adb shell netstat >电脑文件夹路径 //将网络统计信息输出到指定文件
测试两个网络间的连接和延迟
adb shell ping 域名 //不结束一直ping
adb shell ping -c 次数 域名 //指定ping的次数
模拟按键/输入
adb shell input keyevent <keycode>
keycode | 含义 |
---|---|
3 | HOME 键 |
4 | 返回键 |
24 | 增加音量 |
25 | 降低音量 |
26 | 电源键 |
82 | 菜单键 |
164 | 静音 |
5)文件传输
adb push 电脑文件路径 手机的文件夹路径 // 发送文件到手机
adb pull 手机的文件夹路径 电脑的文件夹路径 //将手机中文件发送到电脑
6)日志重定向
adb logcat >电脑文件夹路径 //保存到电脑
adb logcat -v time //打印日志详细时间的简单数据
adb logcat *:E //打印级别为Error的信息
adb logcat -v time *:E //打印时间和级别是Error的信息
7)使用adb查看手机相关信息
adb get-serialno //获取手机的序列号
adb shell wm size //查看手机屏幕分辨率
adb shell cat /proc/cpuinfo //显示手机的cpu信息
adb shell cat /proc/meminfo //查看设备内存信息
adb shell getprop ro.product.model //查看手机的设备型号
adb shell cat /sys/class/net/wlan0/address //获取手机的mac地址
adb shell dumpsys battery //查看设备电池状况
8)实用功能
adb shell screencap /sdcard/screen.png //屏幕截图
adb shell screenrecord /sdcard/filename.mp4 //录制屏幕
9)使用Monkey进行压力测试
adb shell monkey -p <packagename> -v 500
Monkey的具体用法,参考Monkey官方文档