您可以通过以下两种方式运行 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 上运行测试。