您可以通过以下两种方式运行 CTS 自动化测试:
Trade Federation 是一个应用和测试框架,可让您从命令行运行测试。从根本上讲,该框架可让您使用
@Test
注解为测试添加注解,应用会查找并运行这些测试。OmniLab Android Test Station 是一款应用,可让您在 GUI 中运行测试。
本页介绍了如何使用 Trade Federation 运行自动化测试。如需了解如何使用 OmniLab Android 测试框架运行测试,请参阅 OmniLab Android Test Station。
运行所有自动化 CTS 测试
Trade Federation 包含 CTS 控制台,这是一个用于运行测试的命令行界面。如需运行整个自动化 CTS 测试套件,请执行以下操作:
- 确保您已按照设置 CTS 自动化测试中的说明操作。
在测试工作站上,从解压缩 CTS 软件包所得文件夹中运行
cts-tradefed
脚本,以启动 CTS 控制台:./android-cts/tools/cts-tradefed
CTS 控制台会显示一个光标,以便您输入 CTS 命令 (
cts-tradefed >
)。cts
测试计划包含所有自动化 CTS 测试。执行以下命令以运行cts
测试计划:run cts
自动 CTS 测试执行。请注意以下几点:
查看测试结果。如需了解详情,请参阅解读 CTS 结果。
如果这是您首次运行测试,可能会有测试因您无法控制的问题而失败。例如,网络连接速度可能较慢,或 GPS 信号可能较弱。重新运行(重试)测试,直到完成所有测试模块且在最后两次重试会话中测试失败次数相同:
run retry --retry session_number`
当测试失败在重试中保持一致后,请专注于调试剩余的失败测试。如需了解如何排查测试结果问题,请参阅分类处理测试失败和排查 CTS 测试问题。
针对多屏设备运行 CTS
如果您的设备搭载的是 Android 11 或 12,并且有多个屏幕,则必须单独运行 cts-foldable
测试计划:
run cts-foldable
替代屏幕模式的通过或失败测试用例将附加来自 display_mode
的值,例如 testcase1[display_mode=0]
。
运行多设备测试
执行以下命令以运行 cts-multidevice
测试计划:
run cts-multidevice
运行单个测试计划
您可以运行单个测试计划,而不是一次运行所有测试计划。此选项有助于节省时间并专注于特定的测试。如需运行单个测试计划,请执行以下操作:
通过执行
list modules
命令,确定要运行的测试计划的名称。运行这个测试计划:
run cts --plan test_module_or_plan_name
缩短测试执行用时
如果想缩短测试执行用时,您可在多个设备上将测试分片。分片要求主机至少连接两部设备,但为了提高效率,建议使用六部或更多设备。
如需在 Android 11 或更高版本上对测试进行分片,请运行以下命令:
run cts --shard-count number_of_shards
此外,在运行测试进行验证之前,您可以使用 CTS run cts-dev
命令来缩短测试执行用时。此命令会跳过前提条件、设备信息收集和所有系统状态检查工具。它还仅在单个 ABI 上运行测试。