Tradefed 架構

本節說明 Tradefed 的內部元件及其關係。詳情請參閱連結的子頁面。

測試設定

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

TF 設定的結構

全域 TF 設定

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

全域設定詳細資料

KeyStore

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

KeyStore 詳細資料

裝置管理員

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

測試指令排程器

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

建構提供者

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

目標準備工具和清理工具

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

測試執行程式

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

結果回報工具

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

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

指標收集器

指標收集器是 Tradefed 中的特殊物件,與測試執行作業平行。可在測試生命週期的不同時間點收集資訊 (例如測試開始、測試結束)。由於收集器已與測試本身解耦,因此您可以換用、新增和移除測試點,而無須變更測試本身。

全主機層級設定

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

其他功能

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

Tradefed 分割

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

分割詳細資料

使用 SL4A

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

SL4A 與 Tradefed 詳細資料

動態 @option 下載

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

動態 @option 下載