[软件测试][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)