[软件测试][Android测试环境的搭建][学习笔记]
【摘要】 1.Android测试常用术语 1.1.系统碎片化通俗指整个Android平台差异化越来越大。 1.2.屏幕尺寸屏幕对角线的长度。(英寸) 1.3.分辨率分辨率(屏幕分辨率)是屏幕图像的精密度,是指显示器所能显示的像素有多少。由于屏幕上的点、线和面都是由像素组成的,显示器可显示的像素越多,画面就越精细,同样的屏幕区域内能显示的信息也就越多,所以分辨率是个非常重要的性能指标之一。 1.4.像...
1.Android测试常用术语
1.1.系统碎片化
- 通俗指整个Android平台差异化越来越大。
1.2.屏幕尺寸
- 屏幕对角线的长度。(英寸)
1.3.分辨率
- 分辨率(屏幕分辨率)是屏幕图像的精密度,是指显示器所能显示的像素有多少。
- 由于屏幕上的点、线和面都是由像素组成的,显示器可显示的像素越多,画面就越精细,同样的屏幕区域内能显示的信息也就越多,所以分辨率是个非常重要的性能指标之一。
1.4.像素
- 像素是指由图像的小方格组成的,这些小方格都有一个明确的位置和被分配的色彩数值,小方格颜色和位置就决定该图像所呈现出来的样子。
- 可以将像素视为整个图像中不可分割的单位或者是元素。
- px(pixels)像素。
- dip或dp(device independent pixels)设备独立像素。
- sp(scaled pixels - best for text size)比例像素。
1.5.网络制式
- 手机网络制式主要包括GSM、CDMA、3G、4G、5G五种。
2.Android应用的构成
2.1.Android的四大组件
- 构成Android应用程序的基本架构,分别时:活动(Activity)、服务(Service)、广播接收器(BroadcastReceiver)、内容提供者(Content Provider)。
2.2.Activity
- Activity从字面上的意思理解是活动行动的意思,在Android中,activity指与用户交互的界面,从你打开一个Android应用所见到的第一个页面,就是一个activity。
- activity作为一个可见的页面,给用户以良好的体验很重要,所以布局的漂亮与否决定一个应用用户体验。
2.3.Service
- Android下的服务是在后台运行,也是没有界面,一旦启动就会在后台运行,直到手机关机为止。
- 比如:用户可以使用QQ音乐在后台进行音乐播放,虽然退出了操作界面但是还在正常运行。
- service承担着大部分的数据处理工作。
2.4.ContentProvider
- Android平台提供了content provider使一个程序的指定数据集提供给其他应用程序。
- 可以理解为是一个特殊的数据库,主要是用来存取数据。
注意:contentprovider = 中间者角色(搬运工),真正存储和操作数据的数据源还是原来存储数据的方式(数据库、文件、xml或者网络)。
2.5.BroadcastReceiver
- 主要用于接收系统或者app发送的广播事件。
- 广播:发送消息和接收消息。
原理描述:
1,广播接收者,通过binder机制在ams注册。
2,广播发送者,通过binder机制向ams发送广播。
3,ams根据广播发送者要求。在已注册列表中,寻找合适的广播接收者。
4,ams将广播发送到合适的广播接收者相应的消息循环队列中。
5,广播接收者通过消息循环拿到此广播,并回调onReceive()。
注意:广播发送者和广播接收者的执行是异步的,即广播发送者不会关心有无接收者接收,也不确定接收者何时才能接收到。
3.Android测试环境搭建
所有的移动端app的测试,都是C/S或者B/S。移动端就是客户端。所有数据都需要和服务端交互。服务器环境的配置和搭建与app测试的环境没有直接关系。一般所说的app的测试环境特指app运行所需的硬件、网络、及其它相关的app。
3.1.真机测试环境
最直接的方式就是使用真机进行测试。
3.2.第三方模拟器测试
一般日常学习使用的话比较推荐这种方式,可以不需要真机进行学习测试,下载来源丰富,网络不受影响。
3.3.Android自带的模拟器测试
官方资源,需要搭建Android开发环境,由于网络原因会给查找下载造成不便。
3.4.Android测试环境搭建
这里选用第三方模拟器作为示例。
- 在第三方模拟器官网下载安装文件。
- 完成模拟器的安装。
- 将模拟器安装文件夹下的bin目录路径添加到系统的PATH里面。
- 确认adb已经安装成功,在命令提示符中输入
adb version
。如提示:Android Debug Bridge
表示成功。 - 确认aapt已经安装成功,在命令提示符中输入
aapt
。如提示:Android Asset Packaging Tool
表示成功。 - 确认monkey已经安装成功,在命令提示符中输入
adb shell monkey 1
。如提示:Events injected: 1
表示成功。
4.ADB
4.1.ADB简介
adb工具即Android Debug Bridge(安卓调试桥)tools。就是一个命令行窗口,用于通过电脑端与模拟器或者真实设备交互。包括三大内容:
- 电脑上运行的客户端。
- 在你用于开发的机器上作为后台进程运行的服务器。
- 一个以后台进程的形式运行于模拟器或设备上的守护进程(daemon)。
4.2.常用ADB命令
4.2.1.关闭和启动adb服务
- adb kill-server 关闭ADB服务
- adb start-server 启动ADB服务
4.2.2.查看设备连接情况
- adb devices
- 查看当前连接的设备,连接到计算机的Android设备或者模拟器将会列表显示
- 输出信息格式为:[serialNumber] [state]
4.2.3.安装和卸载APK
- adb install <apk文件路径>
- adb uninstall <软件名字>
- adb uninstall -k <软件名字>,卸载程序但是保留其配置和缓存文件
- 指定设备进行操作
- 当有多个设备连接时,可以用下面的命令来直接选择执行命令的设备
adb [-d|-e|-s <serial Number>] <command>
- d:真机(多个设备中只有一个真机时适用)
- e:模拟器(多个设备中只有一个模拟器时适用)
- s:序列号
- 列出当前设备上的程序包
- adb shell pm list packages - 查看设备中所有已安装程序
- adb shell pm list packages -s - 查看设备中系统安装的程序
- adb shell pm list packages -3 - 列出第三方安装的程序
4.2.4.上传和下载文件
- adb push <本地路径> <远程路径>
- 把pc上的文件或文件夹上传到设备
- adb pull <远程路径> <本地路径>
- 把设备上的文件或文件夹下载的pc
4.2.5.日志Logcat的操作
- adb logcat ,在命令行中显示调试信息。
- adb logcat > 文件名 ,将logcat信息保存在文件中。
- 过滤器表达式的格式是tag:priority
- 例如,adb logcat ActivityManager:| *:S
- 标记是一个简短的字符串,用于标识原始消息的来源(例如"View"来源于显示系统)
- 优先级是下面的字符,顺序是从低到高:
- V - 明细(最低优先级)
- D - 调试
- I - 信息
- W - 警告
- E - 错误
- F - 严重错误
- S - 无记载(最高优先级,没有什么会被记载)
- 控制日志的格式
- 日志消息在标记和优先级之外还有很多元数据字段,这些字段可以通过修改输出格式来控制输出结果,-v选项上加上下面列出的内容可以控制输出字段,比如:
- adb logcat - v thread
- brief - 显示优先级/标记和原始进程的PID(默认格式)
- process - 仅显示进程PID
- tag - 仅显示优先级/标记
- thread - 仅显示进程:线程和优先级/标记
- raw - 显示原始的日志信息,没有其他的元数据字段
- time - 显示日期,调用日期,优先级/标记,PID
- long - 显示所有的元数据字段并且用空行分隔消息内容。
其他命令
- Android - 启动SDK管理器
- adb bugreport - 查看bug报告
- adb get-serialno - 获取设备的序列号
- adb root - 获得root权限
- adb remount - 将system分区从只读变成可读可写(需要ROOT权限)
- android list targets - 显示系统内所有的Android平台
- android list avd - 显示系统中所有模拟器
- ddms - 启动ddms
- adb reboot - 重启
- dmesg - 打印出内核的调试信息
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)