Google 致力于为黑人社区推动种族平等。查看具体举措

运行 CTS 测试

Trade Federation 是一种持续测试框架,用于在 Android 设备上运行测试。如需运行兼容性测试套件 (CTS),请先阅读 Trade Federation 概览,了解关于 Tradefed 测试框架的说明。

如需运行测试计划,请执行以下操作:

  1. 按照 Android 设备设置 来设置被测设备 (DUT)。
  2. 请确保已安装最新版本的 Android 调试桥 (adb)Android 资源打包工具 (AAPT),并已将这两个工具的位置添加到计算机的系统路径中。如需了解如何安装这些工具,请参阅设置 CTS:adb 和 AAPT
  3. 已发布的 CTS build 下载到您的 Linux 主机上,并将该 build 解压缩到主机位置。
  4. 至少连接一个设备。如需准备 DUT,请执行以下操作:
    • 主屏幕按钮以将设备设为主屏幕。
    • 请勿将 DUT 用于任何其他任务。
    • 必须使其保持静止状态,以免触发传感器活动。
    • 让设备相机对准一个可以聚焦的物体。
    • 在运行 CTS 时,不要按设备上的任何键。按 DUT 上的键或触摸其屏幕都会干扰正在运行的测试,并且可能会导致测试失败。
  5. 从解压缩 CTS 软件包所在的文件夹中启动 CTS 控制台 cts-tradefed 脚本。在主机的命令行 shell 上运行以下命令:

    ./android-cts/tools/cts-tradefed
  6. 运行默认测试计划(包含所有测试软件包):

    cts-tradefed > run cts
    • 如果想要缩短测试执行时间,您可以在多个设备上将测试分片。分片要求主机至少连接两台设备,但为了提高效率,建议使用六台或更多设备。在多台设备上进行分片时:

      • 对于 Android 9 及更高版本,请使用命令选项

        --shard-count number_of_shards
      • 对于 Android 8.1 及更低版本,请使用命令选项

        --shards number_of_shards
    • 如果不想运行整个测试套件,您可以从命令行运行自己选择的 CTS 计划

      run cts --plan test_plan_name

      如需查找测试计划名称,请执行以下操作:

      • 对于 Android 7.0 及更高版本,如需查看测试模块列表,请输入

        list modules
      • 对于 Android 6.0 及更低版本,如需查看代码库中的测试计划列表,请输入

        list plans
      • 对于 Android 6.0 及更低版本,如需查看代码库中的测试软件包列表,请输入

        list packages
    • 如需了解依赖于 CTS 版本的其他命令选项,请参阅控制台命令参考文档,或参阅 Tradefed 控制台中的“help all”。

  7. 运行多次重试会话,直到完成所有测试模块且在最后两次重试会话中测试失败次数相同。

    • 对于 Android 9 及更高版本,请使用

      run retry --retry session_number --shard-count number_of_shards
    • 对于 Android 7.0 - 8.1,请使用

      run cts --retry session_number --shards number_of_shards
    • 如需了解依赖于 CTS 版本的其他重试命令选项,请参阅 CTS v2 命令控制台

    • 如需了解 CTS 重试的实现详情,请参阅 Trade Federation 套件重试

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

使用 Android Test Station 运行 CTS

Android Test Station 是一款自动化测试工具,通过使用该工具,Android 开发者和测试工程师可以借助界面运行标准测试套件。它可与 Android 兼容性测试套件 (CTS) 配合使用。

该工具通过 ATS 用户指南公开提供,其代码在 AOSP 中开源(multitest_transporttradefed_cluster)。

针对替代模式运行 CTS

CTS 10 R4 版本添加了一个测试计划,适用于具有替代模式或多种屏幕模式的设备。

对于替代模式测试计划,请使用下面的命令行执行该测试计划。

run cts-foldable

替代屏幕模式的通过或失败测试用例将附加来自 display_mode 的值。例如 testcase1[display_mode=0]