Trade Federation 是用於在 Android 裝置上執行測試的持續測試架構。如要執行相容性測試套件 (CTS),請先閱讀Trade Federation 總覽,瞭解 Tradefed 測試架構。
如何執行測試計畫:
- 根據 Android 裝置設定設定測試中的裝置 (DUT)。
- 確認已安裝最新版本的 Android Debug Bridge (ADB) 和 Android 資產封裝工具 (AAPT),並將這些工具的位置新增至機器的系統路徑。如要進一步瞭解如何安裝這些工具,請參閱「設定 CTS:ADB 和 AAPT」。
- 將已發布的 CTS 版本下載至 Linux 主機機器,並將版本解壓縮至主機位置。
- 至少連接一台裝置。如要準備 DUT,請按照下列步驟操作:
- 按下「主畫面」按鈕,將裝置設為主畫面。
- 請勿將 DUT 用於其他任務。
- 請將 DUT 保持在靜止位置,避免觸發感應器活動。
- 將裝置相機鏡頭對準可聚焦的物件。
- 請勿在 CTS 執行期間按下裝置上的任何按鍵。按下鍵或觸碰 DUT 的螢幕會干擾執行中的測試,並可能導致測試失敗。
從已解壓縮 CTS 套件所在的資料夾,啟動 CTS 主控台 cts-tradefed 指令碼。在主機的指令列殼層上執行:
./android-cts/tools/cts-tradefed
執行預設測試計畫 (包含所有測試套件):
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」下方查看。
執行多個重試工作階段,直到所有測試模組完成,且在最近兩個重試工作階段中,測試失敗次數相同為止。
適用於 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 重試」。
只針對失敗的參數化測試執行重試工作階段。系統不會重試傳遞的參數化測試。
針對 Android 11 以上版本,系統預設會在
run cts
指令中啟用下列重試指令選項:run retry --retry
--new-parameterized-handling
在主控台中查看測試進度和回報的結果。
使用 Android Test Station 執行 CTS
Android Test Station 是一項測試自動化工具,可供 Android 開發人員和測試工程師運用使用者介面執行標準測試套件。可搭配 Android Compatibility Test Suite (CTS) 使用。
這項工具可透過 ATS 使用者指南公開取得,其程式碼則已在 Android 開放原始碼計畫中開放原始碼 (multitest_transport
、tradefed_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
所示。