CTS v2 命令控制台

使用 CTS v2 控制台

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

選擇計劃

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

  • cts — 從預先存在的 CTS 安裝執行 CTS。
  • cts-camera — 從預先存在的 CTS 安裝執行 CTS-camera。
  • cts-java — 從預先存在的 CTS 安裝執行核心 Java 測試。
  • 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 前提條件配置。
  • 主機— 在現有裝置上執行單一基於主機的測試。
  • Instrument — 在現有裝置上執行單一 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顯示的最低指定日誌等級運行。有效值:[ 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
[pass | fail | timeout | notExecuted]
[--session session_id ]
建立從先前會話派生的子計劃;此選項會產生一個可用於執行測試子集的子計畫。

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