运行自动 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 上运行测试。