執行 CTS 測試

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

如何執行測試計畫:

  1. 根據 Android 裝置設定設定測試中的裝置 (DUT)。
  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
    • 如要縮短測試執行時間,您可以將測試分割至多部裝置。分割需要主機連線至至少兩部裝置,但為了提高效率,建議連線至六部以上裝置。資料分割超過 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 控制台的「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 2.0 指令控制台

    • 如要瞭解 CTS 重試的實作詳細資料,請參閱「Trade Federation Suite 重試」。

  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 所示。