运行 CTS 自动化测试有两种选择
Trade Federation 是一款应用和测试框架,可让您从命令行运行测试。从根本上说,该框架允许您使用
@Test
注解来注解测试,并且该应用会查找并运行这些测试。OmniLab Android Test Station 是一款应用,可让您在 GUI 中运行测试。
本页介绍如何使用 Trade Federation 运行自动化测试。有关使用 OmniLab Android Test Harness 运行测试的说明,请参阅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 上运行测试。