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

執行 CTS 自動化測試的方法有兩種:

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

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

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

執行所有自動化 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]

執行多裝置測試

執行下列指令,執行 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 上執行測試。