运行自动化 CTS 测试(Android 11 或更高版本)

您可以通过以下两种方式运行 CTS 自动化测试:

  • Trade Federation 是一个应用和测试框架,可让您通过命令行运行测试。从本质上讲,该框架支持您使用 @Test 注解来标记测试,随后应用程序会自动查找并运行这些测试。

  • OmniLab Android Test Station 是一款应用,可让您在 GUI 中运行测试。

本页面介绍了如何使用 Trade Federation 运行自动化测试。如需了解如何使用 OmniLab Android 自动化测试框架运行测试,请参阅 OmniLab Android Test Station

运行所有自动化 CTS 测试

Trade Federation 包含 CTS 控制台,这是一个用于运行测试的命令行界面。如需运行整个自动化 CTS 测试套件,请执行以下操作:

  1. 确保您已按照设置 CTS 自动化测试中的说明操作。
  2. 在测试工作站上,运行 CTS 软件包解压缩后得到的文件夹中的 cts-tradefed 脚本,启动 CTS 控制台:

    ./android-cts/tools/cts-tradefed
    

    CTS 控制台将显示一个光标,提示您输入 CTS 命令(显示为 cts-tradefed >)。

  3. cts 测试计划包含所有自动化 CTS 测试。要运行 cts 测试计划,请执行以下命令:

    run cts
    

    自动化 CTS 测试开始执行。请注意以下几点:

    • Android 13 及更高版本支持多设备测试。只有在使用分片时,这些测试才会自动运行。如需详细了解分片,请参阅缩短测试执行用时。如果您想手动运行这些测试,请参阅运行多设备测试

    • 在运行 CTS 时,请按 ctrl+c,停止现有的 CTS 控制台,然后重新运行 CTS 控制台。

    • 您无法在单个主机上同时运行多个 CTS 版本,因为每个版本都会尝试连接到一个现有的开放位置代码 (OLC) 服务器。

  4. 查看测试结果。如需了解详情,请参阅解释 CTS 结果

  5. 如果这是您首次运行测试,可能会有测试因您无法控制的问题而失败。例如,网络连接速度可能较慢,或 GPS 信号可能较弱。请重新运行(重试)测试,直到完成所有测试模块,并且在最后两次重试会话中,测试失败次数相同:

    run retry --retry session_number`
    
  6. 当测试失败在重试中保持一致后,请专注于调试剩余的失败测试。如需了解如何排查测试结果问题,请参阅对测试失败情况进行分类对 CTS 测试进行问题排查

针对多屏设备运行 CTS

如果您的设备搭载的是 Android 11 或 12,并且配备有多个屏幕,则必须单独运行 cts-foldable 测试计划:

run cts-foldable

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

运行多设备测试

要运行 cts-multidevice 测试计划,请执行以下命令:

run cts-multidevice

运行单个测试计划

您可以运行单个测试计划,而不是一次运行所有测试计划。这一选项有助于节省时间,并让您能够专注于特定的测试集。如需运行单个测试计划,请执行以下操作:

  1. 通过执行 list modules 命令,确定要运行的测试计划的名称。

  2. 运行这个测试计划:

    run cts --plan test_module_or_plan_name
    

缩短测试执行用时

如果想缩短测试执行用时,您可在多个设备上将测试分片。分片要求主机至少连接两部设备,但为了提高效率,建议使用六部或更多设备。

如需在 Android 11 或更高版本上对测试进行分片,请运行以下命令:

run cts --shard-count number_of_shards

此外,在运行测试进行验证之前,您可以使用 CTS run cts-dev 命令来缩短测试执行用时。此命令会跳过前提条件、设备信息收集和所有系统状态检查工具。它还仅在单个 ABI 上运行测试。