CTS v2 命令控制台

使用 CTS v2 控制台

对于 Android 7.0 或更高版本,请使用 CTS v2。

选择方案

提供的测试方案包括以下几种:

  • cts—从预先存在的 CTS 安装运行 CTS。
  • cts-camera— 从预先存在的 CTS 安装运行 CTS-camera。
  • cts-java— 从预先存在的 CTS 安装运行 Core Java Tests。
  • cts-pdk— 运行对验证 PDK 融合版本有用的测试。
  • everything— 兼容性套件的常用配置。

其他可用配置包括以下几种:

  • basic-reporters— 具有基本 CTS 报告程序的配置。
  • collect-tests-only—从预先存在的 CTS 安装运行 CTS。
  • common-compatibility-config— 兼容性套件的常用配置。
  • cts-filtered-sample— 兼容性套件的常用配置。
  • cts-known-failures— 具有 CTS 已知失败项的配置。
  • cts-preconditions— CTS 前提条件配置。
  • host— 在现有设备上运行单个基于主机的测试。
  • instrument— 在现有设备上运行单个 Android Instrumentation 测试。
  • native-benchmark— 在现有设备上运行原生基准评测测试。
  • native-stress— 在现有设备上运行原生压力测试。
  • recharge— 一项虚假测试,用于等待电量即将耗尽的设备并将其保持充电状态。
  • testdef— 在现有设备上运行 test_def.xml 文件中包含的测试。
  • util/wifi— 用于在设备上配置 Wi-Fi 的实用程序配置。
  • util/wipe— 清除设备上的用户数据。

所有这些方案和配置都可以使用 run cts 命令执行。

CTS v2 控制台命令参考

下表总结了 CTS v2 控制台中各种用途的命令。

主机 说明
help 显示最常用命令的摘要
help all 显示所有可用命令的完整列表
version 显示版本。
exit 正常退出 CTS 控制台。当所有当前正在运行的测试都完成时,控制台会关闭。
extdir

压缩的下载文件会解压缩到 extdir。如果您想去除膨胀的输出,请使用 -q 选项

unzip -q android-cts-9.0_r15-linux_x86-arm.zip -d extdir

如果您想解压缩到当前目录,请勿使用 -d 选项,只需运行

unzip -q android-cts-9.0_r15-linux_x86-arm.zip

运行 说明
run cts

在 Android 10 中,同时运行默认 CTS 方案和 CTS-Instant 方案(即完整的 CTS 调用)。对于 Android 9 或更低版本,仅运行默认 CTS 方案。将此综合选项(包括前提条件)用于设备验证。请参阅 cts.xml,了解包含项。

CTS 控制台可以在测试进行时接受其他命令。

如果没有设备连接,CTS 桌面机器(或主机)将等待设备连接,然后才开始测试。如果连接了多个设备,CTS 主机将自动选择一个设备。

run cts-instant

对于 Android 9,运行默认 CTS-Instant 方案。

run cts --module-parameter INSTANT_APP

在 Android 10 中,运行默认 CTS-Instant 方案。

run cts --module-parameter INSTANT_APP --module/-m test_module_name

在 Android 10 中,运行指定的 CTS-Instant 测试模块。

run retry

仅适用于 Android 9 或更高版本。重试之前会话中失败或未执行的所有测试。例如,run retry --retry -srun retry --retry --shard-count 与 TF 分片。

run cts --retry 不允许用于 Android 9 或更高版本。

run cts-sim

适用于 Android 11 或更高版本。在具有 SIM 卡的设备上运行测试子集。

--device-token

适用于 Android 8.1 或更低版本。指定给定设备具有给定令牌。例如,--device-token 1a2b3c4d:sim-card

--enable-token-sharding

仅适用于 Android 10 或更高版本。自动匹配需要相应 SIM 卡类型的测试。无需提供设备序列号即可执行与 SIM 卡相关的测试用例。支持的 SIM 卡:SIM_CARDUICC_SIM_CARDSECURE_ELEMENT_SIM_CARD

run cts-dev

运行默认 CTS 方案(即完整的 CTS 调用),但跳过前提条件,以节省新测试迭代开发的运行时间。这会绕过设备配置的验证和设置,例如推送媒体文件或检查 Wi-Fi 连接,就像使用 --skip-preconditions 选项时一样。此命令还会跳过设备信息收集和所有系统状态检查程序。它还仅在单个 ABI 上运行测试。对于设备验证,请避免此优化,并包含所有前提条件和检查。请参阅 cts-dev.xml,了解排除项。

CTS 控制台可以在测试进行时接受其他命令。

如果没有设备连接,CTS 桌面机器(或主机)将等待设备连接,然后才开始测试。如果连接了多个设备,CTS 主机将自动选择一个设备。

--subplan subplan_name 运行指定的子方案。
--module/-m test_module_name --test/-t test_name  运行指定的模块和测试。例如,run cts -m Gesture --test android.gesture.cts.GestureTest#testGetStrokes 运行特定的软件包、类或测试。
--retry 重试之前会话中失败或未执行的所有测试。使用 list results 获取会话 ID。
--retry-type NOT_EXECUTED 仅重试之前会话中未执行的测试。使用 list results 获取会话 ID。
--shards number_of_shards 适用于 Android 8.1 或更低版本。将 CTS 运行分片到给定的独立区块数中,以便在多个设备上并行运行。
--shard-count number_of_shards 适用于 Android 9。将 CTS 运行分片到给定的独立区块数中,以便在多个设备上并行运行。
--serial/-s deviceID 在特定设备上运行 CTS。
--include-filter "test_module_name test_name" 使用指定的模块或测试包、类和用例运行。例如,run cts --include-filter "CtsCalendarcommon2TestCases android.calendarcommon2.cts.Calendarcommon2Test#testStaticLinking" 包括指定的模块。

运行重试时,不支持此命令选项。

--exclude-filter "test_module_name test_name" 从运行中排除指定的模块或测试包、类和用例。例如,run cts --exclude-filter "CtsCalendarcommon2Test android.calendarcommon2.cts.Calendarcommon2Test#testStaticLinking" 排除指定的模块。
--log-level-display/-l log_level 运行并显示 STDOUT 中指定的最低日志级别。有效值:[VERBOSEDEBUGINFOWARNERRORASSERT]。
--abi abi_name 强制测试在给定的 ABI(32 位或 64 位)上运行。默认情况下,CTS 会为设备支持的每个 ABI 运行一次测试。
--logcat-on-failure,
--bugreport-on-failure,
--screenshoot-on-failure
提供有关失败的更多可见性,并有助于诊断。
--device-token 指定给定设备具有给定令牌,例如 --device-token 1a2b3c4d:sim-card
--skip-device-info 跳过收集有关设备的信息。
--skip-preconditions 跳过前提条件,以节省新测试迭代开发的运行时间。这会绕过设备配置的验证和设置,例如推送媒体文件或检查 Wi-Fi 连接。
列表 说明
list modules 列出代码库中的所有可用测试模块。
list planslist configs 列出代码库中的所有可用测试方案(配置)。
list subplans 列出代码库中的所有可用子方案。
list invocations 列出当前正在设备上执行的运行命令。
list commands 列出当前在队列中等待分配给设备的运行命令。
list results 列出当前存储在代码库中的 CTS 结果。
list devices 列出当前连接的设备及其状态。

可用设备是功能正常的空闲设备,可用于运行测试。

不可用设备是通过 adb 可见的设备,但不响应 adb 命令,并且不会分配用于测试。

已分配设备是当前正在运行测试的设备。

转储 说明
dump logs 转储所有正在运行的调用的 Tradefed 日志。
添加 说明
add subplan --name/-n subplan_name
--result-type
[passed | failed | not_executed]
[--session session_id]
创建从以前会话派生的子方案;此选项生成一个可用于运行部分测试的子方案。

唯一必需的选项是 --session。其他选项是可选的,但如果包含,则后面必须跟一个值。--result-type 选项是可重复的;例如,add subplan --session 0 --result-type passed --result-type failed 是有效的。