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 11 以下版本
cts-tradefed > run cts
適用於 CTS 12 以上版本
cts-console > 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」下方查看。
- 適用於 CTS 11 以下版本
執行多個重試工作階段,直到所有測試模組完成,且測試失敗次數在最後兩個重試工作階段中相同為止。
適用於 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
所示。