CTS 2.0 指令主控台

使用 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:在現有裝置上執行原生壓力測試。
  • recharge:等待電量幾乎耗盡的裝置,並將裝置置於充電狀態的假設測試。
  • testdef:在現有裝置上執行 test_def.xml 檔案中包含的測試。
  • util/wifi:用於設定裝置 Wi-Fi 的工具設定。
  • util/wipe:清除裝置上的使用者資料。

您可以使用 run cts 指令執行所有這些企劃書和設定。

CTS 2.0 主控台指令參考資料

下表列出 CTS 2.0 主控台的各種用途指令。

舉辦派對 說明
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 即時計畫。

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

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 列出目前在裝置上執行的run 指令。
list commands 列出目前在佇列中等待指派給裝置的所有「run」指令。
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 就是有效的值。