Tradefed 架構

本節說明進行交易的內部結構及其關係。詳情請參閱連結的子頁面。

測試設定

Tradefed 中的測試設定會以 XML 格式說明。瞭解設定結構是執行及自訂測試的關鍵。

TF 設定的結構

全域 TF 設定

全域設定檔是一種特殊的 Tradefed XML 設定,會在 Tradefed 透過 TF_GLOBAL_CONFIG 環境變數啟動時載入。它會載入與 Tradefed 例項範圍相關的物件,這些物件會影響整體整合工具行為。

全域設定詳細資料

KeyStore

可讓您將來自 Keystore 的指令列選項注入 Tradefed,以免直接在指令列上參照值。這可用於直接從金鑰庫擷取密碼,藉此隱藏指令列中的密碼。

KeyStore 詳細資料

裝置管理工具

裝置管理員負責追蹤 Tradefed 執行中例項的裝置狀態。系統會監控分配狀態和上線狀態等。

測試指令排程器

Tradefed 中的測試指令排程器會取得要執行的指令,將指令與裝置建立關聯,並啟動測試叫用作業。

建構提供者

建構提供者是任何測試叫用作業的第一步。它會下載設定及執行測試所需的資源 (建構映像檔、測試 APK 等)。也會在要傳遞至測試的 BuildInfo 物件中參照這些變數。您也可以在 BuildInfo 物件中連結本機可用的資源。

指定準備工具和清理工具

目標準備工具提供可選動作,可將測試中的目標設為特定狀態,例如閃燈裝置、設定特定屬性和連線至 Wi-Fi。

測試執行程式

交易中的測試執行器是指負責實際測試執行的物件。不同的測試執行程式會以不同方式執行測試,例如檢測設備測試執行程式與 JUnit 測試執行程式就大不相同。

結果回報工具

Tradefed 中的結果回報器是指會將結果傳送至特定目的地的物件。每個實作通常都會專門針對不同的結果後端進行。而結果回報器負責將 Tradefed 結果格式轉換為目標格式。

這種彈性設計可讓任何測試回報至任何結果目的地,並輕鬆以隔離方式新增更多測試。

指標收集器

指標收集器是交易測試中的特殊物件,無法與測試執行直接相關。可在測試生命週期的不同時間點 (例如測試開始、測試結束) 收集資訊。由於收集器與測試本身分離,因此可以交換、新增及移除資料點,而不必變更測試本身。

全主機層級設定

本節說明適用於 Tradefed 完整執行例項的設定。這些選項會影響整體測試架構的行為,以便適應不同的環境,例如受限制的網路。

其他功能

以下各節說明 Tradefed 的一般用法,而非 Tradefed 物件。

交易資料分割

如果測試語料庫很大或執行時間很長,您可以將其拆分到多部裝置上。我們將這種分割稱為「分割」。本節將說明分割作業的運作方式和設定方式。

分割詳細資料

使用 SL4A

Tradefed 支援 Android 的劇本層 SL4A,這是用於以平台無關方式呼叫 Android API 的自動化工具組。

SL4A 與 Tradefed 詳細資料

動態 @option 下載

在某些情況下,測試或某些特定作業所需的檔案無法在本機使用。這項功能可讓 Tradefed 從遠端位置取得這些檔案,而不必透過建構供應商。

動態 @option 下載