運行 CTS 測試

Trade Federation 是一個用於在 Android 裝置上執行測試的持續測試框架。若要執行相容性測試套件 (CTS),請先閱讀Trade Federation 概述,以了解 Tradefed 測試框架的說明。

要運行測試計劃:

  1. 依照Android 裝置設定設定被測設備 (DUT)。
  2. 確保您已安裝最新版本的Android 調試橋 (adb)Android 資產打包工具 (AAPT) ,並將這些工具的位置新增至電腦的系統路徑。有關安裝這些工具的信息,請參閱設定 CTS:ADB 和 AAPT。
  3. 已發佈的 CTS 版本下載到您的 Linux 主機上,並將該版本解壓縮到主機位置。
  4. 連接至少一台設備。準備 DUT:
    • 按下主頁按鈕將裝置設定為主畫面。
    • 請勿將 DUT 用於任何其他任務。
    • 將 DUT 保持在固定位置以避免觸發感測器活動。
    • 將設備攝影機對準可對焦的物體。
    • CTS 運作時請勿按下裝置上的任何按鍵。按鍵或觸碰 DUT 的螢幕會幹擾正在執行的測試,並可能導致測試失敗。
  5. 從 CTS 套件解壓縮後的資料夾啟動 CTS 控制台cts-tradefed腳本。在主機的命令列 shell 上運行:

    ./android-cts/tools/cts-tradefed
  6. 執行預設測試計劃(包含所有測試包):

    cts-tradefed > run cts
    • 如果您想要縮短測試執行時間,可以將測試分片到多個裝置上。分片要求主機至少連接兩個設備,但為了提高效率,建議連接六個或更多設備。當分片超過 1 個設備時:

      • 對於 Android 9 及更高版本,請使用命令選項

        --shard-count number_of_shards
      • 對於 Android 8.1 及更低版本,請使用命令選項

        --shards number_of_shards
    • 如果您不想執行整個測試套件,可以從命令列執行您選擇的CTS 計畫

      run cts --plan test_plan_name

      若要尋找測試計劃名稱:

      • 對於 Android 7.0 及更高版本,若要查看測試模組列表,請輸入

        list modules
      • 對於 Android 6.0 及更低版本,若要查看儲存庫中的測試計劃列表,請輸入

        list plans
      • 對於 Android 6.0 及更低版本,若要查看儲存庫中的測試包列表,請輸入

        list packages
    • 有關取決於 CTS 版本的其他命令選項,請參閱控制台命令參考,或在 Tradefed 控制台中的「全部幫助」下。

  7. 執行多個重試會話,直到完成所有測試模組並且最後兩次重試會話中的測試失敗數量相同。

    • 對於 Android 9 及更高版本,請使用

      run retry --retry session_number --shard-count number_of_shards
    • 對於 Android 7.0–8.1,請使用

      run cts --retry session_number --shards number_of_shards
    • 有關取決於 CTS 版本的其他重試指令選項,請參閱CTS v2 指令控制台

    • 要了解 CTS 重試的實施詳細信息,請參閱Trade Federation Suite Retry

  8. 僅對失敗的參數化測試運行重試會話。不會重試已通過的參數化測試。

    • 對於 Android 11 及更高版本,在run cts指令中預設啟用下列重試指令選項:

      run retry --retry  --new-parameterized-handling
  9. 查看控制台上報告的測試進度和結果。

使用 Android Test Station 運行 CTS

Android Test Station 是一款測試自動化工具,Android 開發人員和測試工程師可以使用它來採用使​​用者介面來執行標準測試套件。它與Android 相容性測試套件 (CTS)配合使用。

該工具透過ATS 使用者指南公開提供,其程式碼在 AOSP 中開源( multitest_transporttradefed_cluster )。

為備用模式執行 CTS

CTS 10 R4 版本為具有備用模式的裝置或具有多個螢幕的裝置新增了測試計畫。使用run cts-foldable執行備用模式測試計畫。

備用螢幕模式通過或失敗的測試案例會附加來自display_mode的值,例如testcase1[display_mode=0]

在 CTS 13 中,DeviceStateManager API 允許具有以下配置選項的測試模組在可折疊裝置的不同裝置狀態上運作。測試在 CTS 中根據裝置中定義的顯示折疊狀態自動執行,無需執行cts-foldable測試計畫。

<option name="config-descriptor:metadata" key="parameter" value="all_foldable_states" />

CTS 中的多設備測試

Android 13 及更高版本支援多裝置測試。需要多個設備的測試在 CTS 運行期間自動執行。 CTS 13 包括一些在使用分片時自動觸發的多裝置測試。雖然測試不需要對實體設定進行額外的更改,但需要安裝virtualenv才能正確執行測試。有關詳細信息,請參閱多設備套件

運行多設備測試

若要獨立執行多設備測試,請使用以下程式碼:

  cts-tradefed > run cts-multidevice
  

支援所有常規選項。要定位特定設備,請新增--serial <serial1> --serial <serial2>等以指定目標設備的數量。

若要自動觸發多裝置測試,請使用分片,如--shard-count 2