CTS v2 命令控制台

使用 CTS v2 控制台

對於 Android 7.0 或更高版本,請使用 CTS v2。

選擇計劃

可用的測試計劃包括以下內容:

  • cts — 從預先存在的 CTS 安裝運行 CTS。
  • cts-camera — 從預先存在的 CTS 安裝運行 CTS-camera。
  • cts-java — 從預先存在的 CTS 安裝運行核心 Java 測試。
  • cts-pdk — 運行對驗證 PDK 融合構建有用的測試。
  • 一切——兼容性套件的通用配置。

其他可用配置包括:

  • basic-reporters — 基本 CTS 報告器的配置。
  • collect-tests-only - 從預先存在的 CTS 安裝運行 CTS。
  • common-compatibility-config — 兼容性套件的通用配置。
  • cts-filtered-sample — 兼容性套件的通用配置。
  • cts-known-failures — 具有 CTS 已知故障的配置。
  • cts-preconditions — CTS 前置條件配置。
  • 主機— 在現有設備上運行單個基於主機的測試。
  • 儀器— 在現有設備上運行單個 Android 儀器測試。
  • native-benchmark — 在現有設備上運行本機壓力測試。
  • native-stress — 在現有設備上運行本機壓力測試。
  • 充電- 等待幾乎放電的設備並保持它們充電的假測試。
  • 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 或更高版本。重試之前會話中所有失敗或未執行的測試。例如,使用 TF 分片run retry --retry -srun retry --retry --shard-count

Android 9 或更高版本不允許run cts --retry

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對於安卓 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的最小指定日誌級別運行。有效值:[ VERBOSE , DEBUG , INFO , WARN , ERROR , ASSERT ]。
--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
[pass | fail | timeout | notExecuted]
[--session session_id ]
創建從前一屆會議派生的子計劃;此選項生成可用於運行測試子集的子計劃。

唯一需要的選項是--session 。其他是可選的,但如果包含,則必須後跟一個值。 --result-type選項是可重複的;例如add subplan --session 0 --result-type passed --result-type failed是有效的。