谷歌CTS测试简介

CTS测试

1.设置CTS(物理环境)

WLAN IPv6

CTS 测试需要满足以下要求的 WLAN 网络:支持 IPv6,可以将被测设备 (DUT) 视为隔离客户端,并可以连接到互联网。隔离客户端是一种配置,可将 DUT 配置为无法接收子网络上的广播/多网消息;这种配置可通过 WLAN AP 配置或通过在未连接其他设备的隔离子网络上运行 DUT 来实现。

如果您无法访问原生 IPv6 网络、IPv6 运营商网络或 IPv6 VPN,以致无法通过基于 IPv6 的一些测试,则可以改为使用 WLAN 接入点和 IPv6 隧道。请参阅维基百科 IPv6 隧道代理列表

 

蓝牙 LE 信标

如果 DUT 支持蓝牙 LE 功能,则至少应在距离 DUT 五米的范围内放置三个蓝牙 LE 信标,以进行蓝牙 LE 扫描测试。这些信标可以为任何类型,不需要进行配置或发射任何特定信号,并且可以包括 iBeaconEddystone 甚至模拟 BLE 信标的设备。

 

台式机设置

CTS 目前支持 64 Linux Mac OS 主机。

 

ADB AAPT

在运行 CTS 之前,请确保您已安装最新版本的 Android 调试桥 (adb)  Android 资源打包工具 (AAPT),并将这些工具的位置添加到计算机的系统路径中。

要安装 ADB,请下载适用于您的操作系统的 Android SDK 工具包,打开它,然后按照附带的 README 文件中的说明进行操作。要了解问题排查相关信息,请参阅安装独立 SDK 工具

确保 adb  aapt 位于您的系统路径中。以下命令假定您已在主目录中打开了软件包归档文件:

 

export PATH=$PATH:$HOME/android-sdk-linux/build-tools/

注意:请确保起始路径和目录名称均准确无误。

 

Java 开发套件 (JDK)

安装适当版本的 Java 开发套件 (JDK)。对于 Android 7.0 -

·  Ubuntu 上,使用 OpenJDK 8

·  Mac OS 上,使用 jdk 8u45 或更高版本

如需了解详情,请参阅 JDK 要求

 

CTS 文件

下载并打开与您设备的 Android 版本以及您的设备支持的所有应用二进制接口 (ABI) 相匹配的 CTS 包。

下载并打开最新版本的 CTS 媒体文件

 

设备检测

请按照相应的步骤设置您的系统以检测您的设备,例如为 Ubuntu Linux 创建 udev 规则文件。

 

Android 设备设置

用户版本

兼容的设备会被定义为具有用户/release-key 签名版本的设备,因此您的设备应基于代号、标签和版本号中已知兼容的用户版本(Android 4.0 及更高版本)运行系统映像。

注意:使用 CTS 确认最终系统映像的 Android 兼容性时,您必须在具有用户版本的设备上执行 CTS

 

第一个 API 级别版本属性

特定的 CTS 要求取决于设备最初搭载的版本。例如,如果设备最初搭载的是较低的版本,则不符合适用于搭载较高版本的设备的系统要求。

为了保证在 CTS 中可读取到这些信息,设备制造商可以定义编译时属性:ro.product.first_api_level。该属性的值是以商业化形式发布该设备时所采用的第一个 API 级别。

原始设备制造商(OEM) 可以将 PRODUCT_PROPERTY_OVERRIDES 添加到其 device.mk 文件以设置这项属性,具体如以下示例所示:

#ro.product.first_api_level indicates the first api level, device has been commercially launched on.

PRODUCT_PROPERTY_OVERRIDES +=\

ro.product.first_api_level=21

注意:对于产品的第一个版本,ro.product.first_api_level 属性应取消设置 (0);而对于所有后续版本,该属性应设置为正确的 API 级别值。通过这种方式,该属性可以正确识别新产品,而且我们不会丢失任何关于产品第一个 API 级别的信息(0 值意味着 ro.product.first_api_level = Build.VERSION.SDK_INT)。

 

CTS Shim 应用

Android 7.0 包含以下预编译的应用(通过此来源编译),这些应用不包含除清单以外的任何代码:

· frameworks/base/packages/CtsShim/CtsShim.apk
apk 文件将复制到系统映像上的 /system/app/CtsShimPrebuilt.apk

· frameworks/base/packages/CtsShim/CtsShimPriv.apk
apk 文件将复制到系统映像上的 /system/priv-app/CtsShimPrivPrebuilt.apk

CTS 会使用这些应用来测试特权和权限。要通过测试,您必须将应用预加载到系统映像上的相应目录下,而无需对它们重新签名。

 

存储空间要求

CTS 媒体压力测试要求将视频剪辑存放在外部存储设备 (/sdcard) 上。大部分剪辑来自 Big Buck Bunny,其版权归 Blender Foundation 所有并已获得知识共享署名 3.0 许可

所需空间取决于设备支持的最大视频播放分辨率(要查看所需分辨率的平台版本,请参阅兼容性定义文档中的第 5 部分)。请注意,被测设备的视频播放功能将通过 android.media.CamcorderProfile API(针对早期 Android 版本)和 android.media.MediaCodecInfo.CodecCapabilities API(针对 Android 5.0)进行检测。

以下是按最大视频播放分辨率列出的存储空间要求:

· 480x36098 MB

· 720x480193 MB

· 1280x720606 MB

· 1920x10801863 MB

 

屏幕和存储空间

1. 任何没有嵌入式屏幕的设备都需要连接到屏幕。

2. 如果设备具有存储卡插槽,请插入空的 SD 卡。请使用支持超高速 (UHS) 总线且具有 SDHC SDXC 容量的 SD 卡,或使用至少具有 Class 10 速度的 SD 卡,以确保设备能够通过 CTS

警告:CTS 可能会修改/清空插入设备的 SD 卡上的数据。

3. 如果设备具有 SIM 卡插槽,请将激活的 SIM 卡插入每个插槽。如果设备支持短信,则应填充每个 SIM 卡的号码字段。

 

开发者 UICC

为了执行 CTS 运营商 API 测试,该设备需要使用运营商授权的 SIM 卡。请参阅准备 UICC

 

Android 设备配置

1. 将设备恢复出厂设置:设置 > 备份和重置 > 恢复出厂设置

警告:这将清空设备中的所有用户数据。

2. 将设备的语言设置为英语(美国):设置 > 语言和输入法 > 语言

3. 如果设备上具有 GPS WLAN/移动网络功能,则打开位置信息设置:设置 > 位置信息 > 开启

4. 连接到满足以下要求的 WLAN 网络:支持 IPv6,可以将被测设备 (DUT) 视为隔离客户端(请参阅上文的物理环境部分),并可以连接到互联网:设置 > WLAN

5. 确保设备上未设置锁定图案或密码:设置 > 安全 > 屏幕锁定 >

6. 在设备上启用 USB 调试设置 > 开发者选项 > USB 调试

注意: Android 4.2 及更高版本中,默认情况下会隐藏开发者选项。要显示这些选项,请依次转到设置 > 关于手机,然后点按版本号七次。返回上一屏幕以查找开发者选项。要查看其他详细信息,请参阅启用设备上的开发者选项

7. 确保将时间设置为 12 小时格式:设置 > 日期和时间 > 使用 24 小时制 > 关闭

8. 依次选择:设置 > 开发者选项 > 不锁定屏幕 > 开启

9. 依次选择:设置 > 开发者选项 > 允许模拟位置 > 开启

注意:此模拟位置设置仅适用于 Android 5.x 4.4.x

10. 依次选择:设置 > 开发者选项 > 通过 USB 验证应用 > 关闭

注意:此验证应用步骤在 Android 4.2 中为必需步骤。

11. 启动浏览器并关闭任何启动/设置屏幕。

12. 使用 USB 数据线连接用于测试设备的台式机

注意:将运行 Android 4.2.2 或更高版本的设备连接到计算机时,系统会显示一个对话框,询问您是否接受允许通过此计算机进行调试的 RSA 密钥。选择允许 USB 调试

13. 在设备上安装和配置帮助程序应用。

注意:对于 CTS 版本 2.1 R2 4.2 R4,请将您的设备(或模拟器)设置为通过以下命令执行无障碍测试:
adb install -r android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk
在设备上,依次启用:设置 > 无障碍 > 无障碍 > Delegating Accessibility

注意:对于 7.0 之前的 CTS 版本,请在声明 android.software.device_admin 的设备上,将您的设备设置为使用以下命令执行设备管理测试:
adb install -r android-cts/repository/testcases/CtsDeviceAdmin.apk

依次选择设置”>“安全”>“设备管理器,然后启用两个 android.deviceadmin.cts.CtsDeviceAdminReceiver* 设备管理器。确保 android.deviceadmin.cts.CtsDeviceAdminDeactivatedReceiver 和任何其他预加载的设备管理器保持停用状态。

14.  CTS 媒体文件复制到设备上,如下所示:

注意:对于 CTS 2.3 R12 及更高版本,如果设备支持视频编解码器,则必须将 CTS 媒体文件复制到设备上。

导航 (cd) 到下载并解压缩媒体文件的目标路径。

更改文件权限:chmod u+x copy_media.sh

运行 copy_media.sh

要复制分辨率高达 720x480 的剪辑,请运行:./copy_media.sh 720x480

如果您不确定最大分辨率,请尝试运行 ./copy_media.sh all,以便复制所有文件。

如果 adb 下有多个设备,请将 -s(序列号)选项添加到末尾。例如,要将高达 720x480 的分辨率复制到序列号为 1234567 的设备,请运行:./copy_media.sh 720x480 -s 1234567

 

2.运行CTS

运行测试计划的方法如下:

1. 至少连接一个设备。

2. 在开始运行 CTS 时,按主屏幕按钮将设备设置为显示主屏幕。

3. 当设备在运行测试时,它不能用于执行任何其他任务,并且必须保持静止状态(以免触发传感器活动),同时要让相机指向某个可以聚焦的对象。

4. 在运行 CTS 时,不要按设备上的任何键。按测试设备上的键或触摸其屏幕会干扰正在运行的测试,并且可能导致测试失败。

5. 通过运行解压缩 CTS 包所得的文件夹中的 cts-tradefed 脚本(例如 $ ./android-cts/tools/cts-tradefed)来启动 CTS 控制台。

6. 通过附加以下命令启动默认测试计划(包含所有测试包):run cts --plan CTS。这将启动测试兼容性所需的所有 CTS 测试。

· 对于 CTS v1Android 6.0 及更早版本),您可以输入 list plans 来查看存储区中的测试计划列表,也可以输入 list package 来查看存储区中的测试包列表。

· 对于 CTS v2Android 7.0 及更高版本),您可以输入 list modules 来查看测试模块的列表。

7. 或者,使用以下命令从命令行中运行您选择的 CTS 计划:cts-tradefed run cts --plan

注意:仅在运行 Android 6.0 (Marshmallow) CTS 时,我们建议您使用 --skip-preconditions 选项来跳过在执行 CTS 测试时可能导致问题且存在前提条件的实验性功能测试。

8. 

9. 查看控制台中报告的测试进度和结果。

10. 如果您的设备运行的是 Android 5.0 或更高版本,并且声明支持 ARM x86 ABI,则应运行 ARM x86 CTS

你可能感兴趣的:(CTS测试)