執行 CTS 測試

貿易聯盟是一個在 Android 上執行測試的持續測試架構 裝置。如要執行相容性測試套件 (CTS),請先閱讀Trade Federation 總覽,瞭解 Tradefed 測試架構。

如何執行測試計畫:

  1. 設定處於測試範圍的裝置 (DUT) 頻率: Android 裝置設定
  2. 確認您已安裝 Android Debug Bridge (ADB)Android 資產封裝工具 (AAPT) 並且將這些工具的位置新增至機器的系統路徑。 如要進一步瞭解如何安裝這些工具,請參閱「設定 CTS:ADB 和 AAPT」。
  3. 已發布的 CTS 版本下載到 Linux 主機電腦,然後將版本解壓縮至主機位置。
  4. 至少連接一台裝置。準備 DUT:
    • 按下主畫面按鈕,將裝置設為主畫面。
    • 請不要將 DUT 用於任何其他工作。
    • 將 DUT 固定在靜止位置,以免觸發感應器 活動。
    • 將裝置相機鏡頭對準可聚焦的物件。
    • 請勿在 CTS 執行期間按下裝置上的任何鍵。按下 鍵或觸碰 DUT 螢幕,幹擾執行中的測試 可能會導致測試失敗
  5. 從已解壓縮 CTS 套件所在的資料夾中,啟動 CTS 主控台 cts-tradefed 指令碼。在主機的指令列殼層中,執行下列指令:

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

    cts-tradefed > run cts
    • 如要縮短測試執行時間,可以 將測試分割 跨裝置使用檔案資料分割至少需要主機連線 兩部裝置,不過為了提升效率,建議使用六台以上的裝置。 分割多部裝置時:

      • 如果是 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 控制台的「help all」下方查看。

  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 重試的實作詳細資料,請參閱 重試聯盟套件重試

  8. 只針對失敗的參數化測試執行重試工作階段。通過 系統不會重試參數化測試。

    • 如果是 Android 11 以上版本,系統會啟用下列重試指令選項 安裝在 run cts 指令中:

      run retry --retry  --new-parameterized-handling
  9. 在主控台中查看測試進度和回報的結果。

使用 Android Test Station 執行 CTS

Android Test Station 是測試自動化工具,可供 Android 開發人員和測試工程師使用,藉由使用者介面執行標準測試套件。可與 Android Compatibility Test Suite (CTS)

這項工具可透過 ATS 使用者指南公開取得,其程式碼則已在 Android 開放原始碼計畫中開放原始碼 (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 所示。