一:介绍手机测试的
对于手机端测试,按照平台来分,分为Android和IOS两大主流系统
1.1.1:对于ios和Android,二者有区别,我就说一下我在测试这两款手机app的感受吧
1、两者运行机制不同:IOS采用的是沙盒运行机制,安卓采用的是虚拟机运行机制。
2、两者后台制度不同:IOS中任何第三方程序都不能在后台运行;安卓中任何程序都能在后台运行,直到没有
内存才会关闭。
3、IOS中用于UI指令权限最高,安卓中数据处理指令权限最高。
Android开源导致碎片化比较严重,(手机品牌众多,系统版本各异,分辨率不统一,主流手机型号上千。无法保证应用、游戏对于所有手机的适配兼容。)bug比较多,而IOS通常bug会少一些。
2:android版本
Android在正式发行之前,最开始拥有两个内部测试版本,并且以著名的机器人名称来对其进行命名,它们分别是:阿童木(AndroidBeta),发条机器人(Android 1.0)。后来由于涉及到版权问题,谷歌将其命名规则变更为用甜点作为它们系统版本的代号的命名方法。甜点命名法开始于Android 1.5发布的时候。作为每个版本代表的甜点的尺寸越变越大,然后按照26个字母数序:市场上最常见的版本andorid6.0至andorid10.0
3:android架构
Android的系统架构和其操作系统一样,采用了分层的架构。
从架构图看,Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层
4.Android之四大组件
Android四大组件分别为activity、service、content provider、broadcast receiver。
三:ADB命令
3.1:ADB介绍
ADB全称Android Debug Bridge, 是android sdk里的一个工具, 用这个工具可以直接操作管理
android模拟器或者真实的andriod设备(如G1手机)
它的主要功能有:
* 运行设备的shell(命令行)
* 管理模拟器或设备的端口映射
* 计算机和设备之间上传/下载文件
* 将本地apk软件安装至模拟器或android设备
配置ADB环境变量
1:在系统变量中新建ANDROID_HOME变量,赋值路径(D:\install\androidSDK)

2:在系统变量path中添加%ANDROID_HOME%\platform-tools
3:验证adb配置是否成功
3.1:查看移动端设备
adb devices(描述:这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示)
Offline(不能调试仅是连接,原因很可能是adb与安卓系统不匹配)
unauthorized(连接后不能调试,原因是没有在手机上同意调试)
device(正常状态可调试)
3.3.2:开启服务
adb start-server

3.3.3:关闭服务
adb kill-server

3.3.4:安装软件
adb install apk路径
3.3.5:覆盖安装
adb install -r apk路径(-r 代表如果apk已安装,重新安装apk并保留数据和缓存文件)

3.3.6:查看(系统)包名
系统应用:adb shell pm list packages –s
3.3.6:查看(第三方)包名
第三方应用:adb shell pm list packages -3 

3.3.6:查看(全部)包名
adb shell pm list packages 

3.3.7:卸载软件
adb uninstall 软件包名
3.3.10:截屏
adb shell screencap -p 截图文件路径

3.11:查看手机CPU情况
adb shell dumpsys cpuinfo
3.3.12:查看应用内存使用情况
adb shell dumpsys meminfo +包名:应用的内存使用情况
3.3.13:显示磁盘使用信息
adb shell dumpsys diskstats

3.3.14:查看电池状态
adb shell dumpsys battery
3.3.15:查看手机日志
adb logcat

adb logcat 命令格式 : adb logcat [选项] [过滤项], 其中 选项 和 过滤项 在 中括号 [] 中,
说明这是可选的;
">"输出 : ">" 后面跟着要输出的日志文件, 可以将 logcat 日志输出到文件中, 使用adb logcat >
log 命令(adb logcat >C:\log\1.txt)
Android 的日志分为如下几个级别:
V —— Verbose(最低,输出得最多)
D —— Debug
I —— Info
W —— Warning
E —— Error
F —— Fatal
S —— Silent(最高)
过滤指定等级日志:按某级别过滤日志则会将该级别及以上的日志输出。
比如,命令:adb logcat *:W 将 Warning、Error、Fatal 和 Silent 日志输出
显示所有优先级大于等于“warning”的日志