執行自動化測試 (Android 11 以上版本)

您可以透過下列兩種方式執行 CTS 自動測試:

  • Trade Federation 是一種應用程式和測試架構,可讓您透過指令列執行測試。從根本上來說,這個架構可讓您使用 @Test 註解標註測試,而應用程式會找出並執行這些測試。

  • OmniLab Android Test Station 應用程式可讓您在 GUI 中執行測試。

本頁說明如何使用 Trade Federation 執行自動化測試。如要瞭解如何使用 OmniLab Android Test Harness 執行測試,請參閱「OmniLab Android 測試站」。

執行所有自動化 CTS 測試

Trade Federation 包含 CTS 控制台,這是用於執行測試的指令列介面。如要執行整個自動化 CTS 測試套件,請按照下列步驟操作:

  1. 請確認您已按照「設定 CTS 自動測試」中的操作說明進行設定。
  2. 在測試工作站上,從 CTS 套件解壓縮的資料夾執行 cts-tradefed 指令碼,啟動 CTS 控制台:

    ./android-cts/tools/cts-tradefed
    

    CTS 控制台會顯示游標,供您輸入 CTS 指令 (cts-tradefed >)。

  3. cts 測試計畫包含所有自動化 CTS 測試。執行下列指令,執行 cts 測試計畫:

    run cts
    

    系統會執行自動化 CTS 測試。注意事項:

    • Android 13 以上版本支援多裝置測試。只有在使用分片時,這些測試才會自動執行。如要進一步瞭解分片,請參閱「縮短測試執行時間」。如要手動執行這些測試,請參閱「執行多重裝置測試」。

    • 執行 CTS 時,請按下 Ctrl+C 鍵停止現有的 CTS 控制台,然後重新執行 CTS 控制台。

    • 您無法在單一主機上執行多個 CTS 版本,因為每個版本都會開啟現有的開放位置代碼 (OLC) 伺服器。

  4. 查看測試結果。詳情請參閱「解讀 CTS 結果」。

  5. 如果是第一次執行測試,可能會有測試因您無法控制的問題而失敗。例如網路連線速度緩慢或 GPS 訊號微弱。重新執行 (重試) 測試,直到所有測試模組都完成,且最後兩次重試作業的測試失敗次數相同為止:

    run retry --retry session_number`
    
  6. 如果測試在重試後仍持續失敗,請專注於偵錯其餘失敗的測試。如要瞭解如何排解測試結果問題,請參閱「測試失敗的分類」和「排解 CTS 測試問題」。

執行多螢幕裝置的 CTS

如果裝置搭載 Android 11 或 12,且有多個螢幕,請分別執行 cts-foldable 測試計畫:

run cts-foldable

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

執行多裝置測試 (Android 15 以下版本)

執行下列指令,執行 cts-multidevice 測試計畫:

run cts-multidevice

執行個別測試計畫

您可以個別執行測試計畫,不必一次執行所有測試計畫。這項功能有助於節省時間,並專注於特定測試集。如要執行個別測試計畫,請按照下列步驟操作:

  1. 執行 list modules 指令,找出要執行的測試計畫名稱。

  2. 執行測試計畫:

    run cts --plan test_module_or_plan_name
    

縮短測試執行時間

如要縮短測試執行時間,可以將測試分散到多部裝置上執行。分片需要主機連線至少兩部裝置,但建議使用六部以上的裝置,才能提高效率。

如要在 Android 11 以上版本中將測試分片,請執行下列指令:

run cts --shard-count number_of_shards

此外,您可以使用 CTS run cts-dev 指令,在執行驗證測試前縮短測試執行時間。這項指令會略過前提條件、裝置資訊收集作業,以及所有系統狀態檢查程式。此外,這項工具只會對單一 ABI 執行測試。