ADB介绍,它的主要功能有:
ADB全称Android Debug Bridge, 是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备(如G1手机)
* 运行设备的shell(命令行)* 管理模拟器或设备的端口映射* 计算机和设备之间上传/下载文件* 将本地apk软件安装至模拟器或android设备
配置ADB环境变量
参考java环境变量配置
参考adb环境变量配置
一、常用命令
adb version 查看adb版本
adb devices 检测连接电脑的安卓设备
adb connect 127.0.0.1:62001 连接手机(62001是夜神模拟器的端口)
adb shell 登录设备shell
ls -l 查看文件及创建的时间
(花括号里面的命令需要退出adb shell 命令才可以)
adb pull <手机路径><电脑路径> 从手机中拉取信息放到电脑上
例:adb pull /sdcard/server.log C:\ 把手机里的server.log拷贝到c盘
adb push <电脑路径><手机路径> 从本地推送信息到手机上去
例:adb push C:\user\picture\IMG_005.JPG /sdcard/ 把电脑c路径下的图片拷贝
到手机sdcard文件夹
adb logcat 打印日志
ctrl + C 暂停查看日志
adb logcat > D:\workspace\logcat.txt 将日志打印到指定的位置
※adb logcat -v time > D:\workspace\logcat.txt 将日志打印到指定的位置并带有时间
adb install <电脑上的,apk文件> 电脑上的.apk软件安装到手机
例:adb install D:\下载\谷歌下载\app_aweGW_v6.1.0_9a8dfec.apk
adb install -r xxx.apk 保留数据和缓存文件,重新安装.apk
adb shell dumpsys activity | find "mFocusedActivity" 查看正在运行软件的包名
adb uninstall <包名> 卸载软件
例:adb uninstall com.tencent.mm 卸载微信
adb uninstall -k <包名> 卸载应用但保留数据和缓存
adb disconnect 取消远程调试
二、真机远程调试步骤(手机和PC要连接一个wifi)
1、需要将手机连接到PC端
2、adb devices 检测设备
3、adb tcpip 5555 确定手机端和PC端的通讯端口号
4、拔掉手机,adb connect <手机ip地址>
三、logcat日志文件分析:
由五部分组成:
1. 写下日志的时间
2. 优先级,在Android中,日志的优先级从低到高分以下几种:
V:(啰嗦,最低级别,开发调试中的一些详细信息,仅在开发中使用,不可在发布产品中输出)
D:Debug(调试,用于调试的信息,可以在发布产品中关闭,比较常见)
I:Info(信息,一般提示性的信息)
W:Warning(警告)
E:Error(错误,已经出现可影响运行的错误,比如应用崩溃时输出的日志)
3. 标签(tag),标明日志发起者和方便日志的过滤筛选
4. PID(进程ID)
5. 正文,本日志的主体内容。
四、ANR和Crash
1.如果程序崩溃了,可以在日志中通过关键字FATAL EXCEPTION来定位关于崩溃的日志
2.ANR:程序无响应这个bug需要提交给开发两个日志文件。
(1)可以在日志中通过关键字ANR in来定位关于程序无响应的日志
(2)在关键字ANR in前面有一个traces.txt文件,将这个文件导入到电脑交给开发
步骤:Adb shellàcd data/anr/traces.txt,把这个文件导出来
注意:如果有两个ANR,那么会将前一个ANR覆盖掉,这时候我们需要找到Dropbox文件
步骤:Adb shellàcd data/system/dropboxàlsà里面有data_app_anr@.......文件,将这些文件导入到电脑中就可以了。
Monkey介绍
顾名思义,Monkey就是猴子, Monkey测试,就像一只猴子, 在电脑面前,乱敲键盘在测试。 猴子什么都不懂, 只知道乱敲,通过Monkey程序模拟用户触摸屏幕、滑动Trackball、 按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常
Monkey什么时候使用?Monkey程序介绍?
产品稳定了,没有特别多的bug的时候,一般会用monkey去测试应用的稳定性、健壮性(闪退、崩溃)。
(1) Monkey程序由Android系统自带,使用Java语言写成,在Android文件系统中的存放路径是: /system/framework/monkey.jar;
(2) Monkey.jar程序是由一个名为“monkey”的Shell脚本来启动执行,shell脚本在Android文件系统中 的存放路径是:/system/bin/monkey;
(3)Monkey 命令启动方式:
a)可以通过PC机CMD窗口中执行: adb shell monkey {+命令参数}来进行Monkey测试
b)在PC上adb shell 进入Android系统,通过执行 monkey {+命令参数} 来进行Monkey 测试
c ) 在Android机或者模拟器上直接执行monkey 命令,可以在Android机上安装Android终端模拟器
Money命令格式:adb shell monkey {+命令参数} 次数
结合被测App如何运用adb命令及adb monkey命令
我们公司用adb命令用的挺多的,我们对被测App进行测试的话,使用adb devices -l 来进行连接测试机并查看测试机的详情信息
我们在安装被测包的时候直接使用adb install命令进行安装,不需要使用手机来进行下载安装比较麻烦
我们如果遇到了两个版本进行安装的话,会先使用adb uninstall命令将测试包卸载,也可以使用adb install -r命令覆盖安装
我们对被测App进行测试的过程中如果出现了bug可以使用手机自带的截图工具进行截图,如果使用手机自带的截图工具呢切换起来会非常的麻烦
我们就会使用adb pull将手机里面的东西导出到电脑上进行操作,毕竟我们用电脑用的还是比较多的,我们还可以使用adb push将电脑上的文件导入到手机中进行操作
在被测App运行的过程中会产生log日志,我们会使用adb logcat —>将日志导出到指定的路径
在我们进行App测试的过程当中呢,还会考虑到App的一些性能指标,使用adb shell dumpsys cpuinfo来查看一下被测App的cpu的占用率,使用adb shell dumpsys meminfo命令查看内存的占用率,使用adb shell dumpsys gfxinfo命令查看gpu,使用adb shell dumpsys battery命令查看电量,我们如果想要查看
电池里面的电量的话,可以使用adb shell dumpsys battery stats命令来进行查看电池的电量,还可以使用手机里面的电量看一下耗电排行,如果重度使用的话耗电量是多少
我们如果想要查看耗流量的话,这就有点复杂了,我们要使用adb shell finstr +包名,找到pid之后我们会使用adb shell cat |proc|pid|net|dev 查询上传流量和下载流量
我们会使用adb shell umstart -p +包名进行测试启动时长,分为冷启动和热启动
我们会使用adb 命令做一些压力测试,使用adb monkey,adb monkey下面有很多的参数
我们常用的是adb shell monkey -p+包名—>指向被测App -v-v-v日志级别将日志输出 -s 随机种子数,如果重复运行的话,可以指定-s
我们还会根据用户的需求和用户的操作习惯是设置伪随机事件的百分比,就会使用到 --ignore 下面的参数,比如motion滑动 touch触摸 syskeys系统按键
我们设置伪随机事件还是比较少的,一般根据用户的需求来进行设置