OmniLab Android 測試站

OmniLab ATS 是一項測試工具,可讓 Android 開發人員和測試工程師透過使用者介面執行標準 Android 測試套件,例如 Android Compatibility Test Suite (CTS)。這項工具是各種測試架構 (例如 Trade Federation (TF) 和 Google Mobly) 的網頁介面,可讓您在一組測試裝置上執行 CTS 和支援多種裝置測試,只需進行最基本的設定,還能建立排程,持續執行測試。

OmniLab ATS 2.0 簡介

OmniLab ATS 2.0 會將基礎測試執行基礎架構從 Trade Federation 遷移至 OmniLab。這項異動可提供更強大、更有效率的後端,同時保留 OmniLab ATS 1.0 使用者介面和工作流程。

OmniLab ATS 2.0 的主要優點:

  • 現代化基礎架構:運用 OmniLab 平台,提升穩定性和效能。
  • 無縫接軌:網頁 UI 或核心測試執行工作流程不會有任何異動。
  • 因應未來趨勢:與 Google 的統一測試基礎架構保持一致,可更快採用新功能。

OmniLab ATS 2.0 包含多項新功能,例如大量更新測試計畫、進階裝置分配等,未來還會推出更多功能。請查看版本資訊,瞭解最新消息。

升級至 OmniLab ATS 2.0:

如要使用 OmniLab ATS 2.0,請將工作站升級至 R52 以上版本。使用 --force_ats_version 2 旗標切換至新版 Omnilab ATS 2.0,並搭配 mtt start 指令使用 --force_update 旗標,升級至最新版本:

mtt start --force_ats_version 2 --force_update

在遷移期間,建議您使用 dogfood 標記,存取具備 OmniLab ATS 2.0 功能的最新穩定版本:

mtt start --force_ats_version 2 --tag dogfood --force_update

我們預計在 2026 年第 3 季將 OmniLab ATS 2.0 設為預設版本。我們預計在 2026 年底前逐步淘汰 OmniLab ATS 1.0。

如要進一步瞭解特定更新、已知差異和升級指南,請參閱 OmniLab ATS 2.0 升級指南。

設定 OmniLab ATS

本節說明如何安裝及設定 OmniLab ATS。

OmniLab ATS 會使用下列位置的原始碼:

安裝 OmniLab ATS

請遵守所執行測試套件的軟硬體需求。

如要瞭解 CTS 的相關規定,請前往 source.android.com。

OmniLab ATS 沒有額外的硬體需求,但建議您先參考 CTS 主機需求。

安裝 OmniLab ATS 的方法有兩種:

使用安裝程式

安裝程式支援 Ubuntu 22.04 以上版本。安裝程式會安裝並設定執行 OmniLab ATS 所需的所有程式和資源。

如要使用安裝程式,請按照下列步驟操作:

  1. 執行安裝程式:

    curl https://storage.googleapis.com/android-mtt.appspot.com/prod/install.sh | bash
    
  2. 執行 mtt version,檢查已安裝的 OmniLab ATS CLI 版本。

手動安裝

安裝 Docker
  1. 按照操作說明,在 Linux 機器上安裝 Docker Community Edition (CE)。

  2. 按照安裝後步驟,以非超級使用者身分管理 Docker。

  3. 您可能需要重新啟動終端機視窗,或登出後再重新登入,權限變更才會生效。

安裝 Python 3

OmniLab ATS CLI 必須在 Ubuntu 22.04 以上版本執行。CLI 已通過 Python 3.10 至 3.13 版的驗證。

如要安裝 Python 3,請執行下列指令:

sudo apt-get update
sudo apt install python3 python3-distutils

如果需要標準發行版本未包含的 Python 3 版本,請先執行下列任一操作,新增 Python 3 的存放區:

  • 執行下列指令:

    sudo add-apt-repository ppa:deadsnakes/ppa
    
  • 從來源建構及安裝存放區。

如要安裝特定 Python 3 版本 (例如 3.10),請改為執行下列指令:

sudo apt-get update
sudo apt install python3.10 python3.10-distutils

取得 OmniLab ATS CLI

按這裡下載指令列介面 (CLI) 套件。

啟動 OmniLab ATS

使用下列指令啟動 OmniLab ATS:

mtt start

第一次啟動 UI 時,可能需要幾分鐘才會顯示。CLI 會顯示網址,方便您在瀏覽器中存取 UI。網頁網址預設為 localhost:8000。如有需要,您可以在啟動時使用 --port 旗標變更預設通訊埠。

如有較新的版本,可以更新至最新版本。如要查看最新版本,請參閱版本資訊。

如要更新至最新版本,請執行:

mtt start --force_update

如要停止應用程式,請執行:

mtt stop

如要查看其他指令的清單,請使用:

mtt --help

備份及還原資料庫

如要備份 OmniLab ATS 資料庫,請停止應用程式並執行下列指令,將目前的資料庫備份到主目錄中名為 mtt-backup.tar 的 TAR 檔案:

docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar cvf /out/mtt-backup.tar ."

如要還原,請在啟動應用程式前執行下列指令:

docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar xvf /out/mtt-backup.tar"

設定精靈

首次安裝並執行 OmniLab ATS 後,設定精靈會引導您完成幾個步驟,協助您根據環境自訂工具。您在此處所做的任何變更,日後都可以透過「設定」頁面重新設定。

還原設定備份

如果您有從其他 OmniLab ATS 主機備份的設定檔,可以按一下「Upload File」按鈕上傳檔案,複製該主機修改過的任何設定。

還原設定備份

圖 1. 還原設定備份。

設定預設服務帳戶

您可以設定 OmniLab ATS 存取資源 (例如 Google Cloud Storage、Google 雲端硬碟) 時預設使用的服務帳戶。如要驗證服務帳戶,請按一下「Upload Service Account Key」(上傳服務帳戶金鑰),然後選取服務帳戶的 JSON 金鑰檔案。

設定服務帳戶

圖 2. 設定服務帳戶。

服務帳戶驗證成功後,帳戶電子郵件地址會顯示在頁面右上角。如要變更服務帳戶,請按一下帳戶名稱,移除目前的預設帳戶,然後上傳新的服務帳戶金鑰。

變更服務帳戶

圖 3. 變更服務帳戶。

匯入設定集

設定集是一組用於執行測試套件的設定,包括相關裝置動作和建構管道。設定集託管於特定 Google Cloud Storage (GCS) bucket。使用 Google 帳戶驗證 GCS 建構管道後,您會看到所有可用的設定集清單。

選取要新增至測試站主機的設定組合,然後按一下「Import Selected」(匯入所選項目)。

匯入設定集

圖 4. 匯入設定集。

納入 Wi-Fi 設定

部分 CTS 測試需要裝置連線至 Wi-Fi 熱點。如要選取 Wi-Fi 網路,請輸入 WiFi SSID 和選用的 WiFi PSK。

Wi-Fi 設定

圖 5. Wi-Fi 無線基地台設定。

完成設定精靈後,頁面會重新載入並套用新設定。

連線至裝置

您必須啟用 USB 偵錯功能,才能使用裝置進行測試。如要啟用偵錯功能,請按照下列步驟操作:

  1. 按照「啟用開發人員選項和偵錯」中的操作說明操作。

  2. 如果您打算使用預先載入自訂 ADB 金鑰的測試 Android 版本,請將自訂 .adb_key 檔案放在 ~/.android/ 目錄下。

    系統會自動載入檔案並傳遞至 ADB,以便在裝置刷寫後,自動為搭載這些建構版本的裝置啟用 USB 偵錯功能。

  3. 使用 USB 將裝置連接至主機。

    重新整理網頁介面後,裝置會在一分鐘內顯示在 OmniLab ATS 的「Devices」分頁中。您也可以在這個分頁查看裝置狀態。

    連結裝置

    圖 6. 連結裝置。

不同的裝置狀態如下:

  • 可用:裝置已連線,可執行測試。
  • 已分配:裝置已連線,且正在執行測試。每部裝置一次只能執行一項測試,因此裝置必須先完成目前的測試,才能執行新的測試。

執行測試

選取測試

OmniLab ATS 隨附一組預先綁定的 CTS 設定。如要執行其中一項測試,請前往「Test Suites」分頁,然後按一下所選測試的「Run test」。

選取測試

圖 7. 選取測試。

如要編輯或新增測試,請參閱「新增測試」。

設定測試執行作業

編輯要用於這項特定測試執行的參數。大多數參數都會預先填入所選測試設定中定義的值。

這個步驟可以使用預設值完成,但您也可以視需要變更任何參數,例如「Max Retry」(重試次數上限) 和「Command」(指令)。

設定測試執行作業

圖 8. 設定測試執行作業。

測試執行參數如下:

  • Name:要執行的測試套件名稱。
  • 執行次數:排定執行這項測試執行的次數。測試執行作業是使用 Trade Federation 排程,如果容量足夠,最多可同時執行 20 次測試。
  • Max Retry:如果至少有一項測試失敗,則重試測試執行的次數上限。如要處理不穩定測試,通常會將這個值設為 4 到 6 次重試,以便完整執行 CTS。
  • 佇列逾時:如果測試執行作業在「Queued」狀態停留過久,系統會自動取消。請在這裡指定取消前要等待的時間長度。預設值為 24 小時。
  • 指令:執行測試套件的指令。您可以在這裡輸入其他指令列引數。舉例來說,如要在 CTS 8.1 中執行特定模組,請使用:

    cts-suite -m ShortModuleName
    
  • 重試指令:重試測試套件的指令。您可以在這裡新增其他指令列引數。舉例來說,如要只重試 CTS 8.1 中的特定模組,請使用:

    cts --retry 0 -m ShortModuleName
    

    重試引數可能與初始指令可用的引數不同,因此請在所選測試套件的官方網站上,查看支援的參數。

  • Previous Test Run:如要重新執行先前的測試,請按照下列步驟操作:

    • 本機:如果執行作業是在目前的主機上啟動,請輸入查看測試執行作業詳細資料時顯示的測試執行作業 ID。

      本機上次測試執行

      圖 9.本機先前測試執行。

    • 遠端:如果執行作業是在其他主機上啟動,請選取「遠端」,然後按一下「上傳測試結果檔案」,並從本機儲存空間選取檔案,即可上傳測試結果檔案。

      移除先前的測試執行

      圖 10. 移除先前的測試執行作業。

特定裝置

勾選核取方塊,選取要分配執行測試套件的裝置。Shard 數量應會自動變更,與所選裝置數量相符。

選取裝置

圖 11. 選取裝置。

如要根據裝置序號以外的屬性選取裝置,可以手動輸入「裝置規格」。舉例來說,如要選取產品名稱為「bramble」的 3 部裝置,請輸入下列指令:

product:bramble;product:bramble;product:bramble

支援的屬性如下:

  • build_id
  • device_serial
  • device_type
  • 主機名稱
  • 產品
  • product_variant
  • sim_state

所有選取的裝置都必須處於「Available」狀態,才能執行測試,且在執行測試時,所有裝置都會切換至「Allocated」狀態。測試執行作業在等待裝置可用時,會處於「已排入佇列」狀態。

新增裝置動作

裝置動作是指可在每次執行測試前執行的指令碼。部分裝置動作已預先設定,例如刷寫和重新啟動。如要建立新的裝置動作,請參閱「建立新的裝置動作」。

裝置動作

圖 12. 裝置動作。

如要在測試執行中新增裝置動作,請按一下「Add new action」,勾選要新增的動作,然後按一下「Add Action(s)」。裝置動作會依序執行。拖曳動作即可重新排序。

新增動作

圖 13. 重新排序動作。

設定測試資源

測試資源是執行測試時所需的檔案。舉例來說,執行 CTS 需要 android-cts*.zip 檔案,而對裝置進行刷機則需要提供建構映像檔。

測試套件 ZIP 檔案的下載網址應預設為提供給合作夥伴的 Google 雲端硬碟連結。如要選取其他檔案,請按一下「瀏覽」。在彈出式視窗中,您可以輸入檔案下載連結、使用來自已驗證建構管道的檔案,或上傳本機儲存空間中的檔案。

測試資源

圖 14. 測試資源。

以下是透過網址選取測試資源的彈出式視窗。您可以輸入下載網址連結,然後按一下「Select」(選取) 按鈕確認選取。

測試資源選取器 - 網址

圖 15. 測試資源選取器 - 網址。

如果您已將資源上傳到 Google 雲端硬碟、Google Cloud Storage (GCS) 或其他管道,也可以前往特定管道的分頁,並在該處選取資源。以下是從 Google 雲端硬碟選取資源的範例。

測試資源選取器 - Google 雲端硬碟

圖 16. 測試資源選取器 - Google 雲端硬碟。

除了選取檔案外,「Filename」(檔案名稱) 欄位也支援萬用字元。如要查看說明文件,請按這裡。

測試資源選取器 - 支援萬用字元模式

圖 17. 測試資源選取器 - 支援萬用字元模式。

你也可以從 OmniLab ATS 的本機檔案儲存空間選取檔案。您可以將檔案上傳到這個儲存空間,或直接使用本機檔案和目錄。

測試資源選取器 - 本機檔案儲存庫

圖 18. 測試資源選取器 - 本機檔案儲存庫。

新增重新執行設定

您可以安排在主要執行作業完成並載入結果後,開始重新執行,但可以使用不同的裝置、動作或資源。

新增重新執行設定

圖 19. 新增重新執行設定。

開始測試執行

輸入測試執行所需的資訊後,按一下「Start Test Run」(開始測試執行)。如果所有資訊都有效,測試執行作業就會開始,系統會將您重新導向至可查看測試執行作業詳細資料和進度的頁面。

開始測試執行

圖 20. 開始測試執行。

建立測試計畫

測試計畫用於定期建立測試執行作業。例如,每天下午 5 點執行 CTS 9.0。如要建立新的測試計畫,請按一下「Create a new test plan」(建立新的測試計畫)。

建立測試計畫

圖 21. 建立測試計畫。

設定測試計畫

輸入測試計畫名稱和要新增的標籤。然後選取要使用的時間表。

  • 手動:只有在使用者點選測試計畫清單頁面中的「Run test plan」(執行測試計畫) 時,測試計畫才會建立測試執行作業。
  • 定期:測試計畫會根據所選的定期排程,自動排定測試執行作業。例如,排定每天下午 5:00 執行測試。
  • 自訂:測試計畫會根據輸入的 cron 運算式自動排定測試執行作業。舉例來說,如要排定每天下午 5:00 執行測試,Cron 運算式為 0 17 * * *。

設定測試計畫

圖 22. 設定測試計畫。

新增測試套件

按一下「+ Add test run configuration」,新增要由測試計畫排定的測試套件。從「Name」(名稱) 下拉式選單中選取測試套件,然後按一下「Next step」(下一步)。接著,選取要執行測試的裝置,然後按一下「Add Configuration」。您可以為每個測試方案新增多項設定。

設定測試執行作業

圖 23. 設定測試執行作業。

新增裝置動作

新增要在每次測試執行前執行的裝置動作。詳情請參閱「新增裝置動作」。

新增裝置動作

圖 24. 新增裝置動作。

設定測試資源

將測試資源新增至測試計劃,與將資源新增至個別測試執行的做法相同。詳情請參閱「設定測試資源」。

設定測試資源

圖 25.設定測試資源。

查看測試執行作業

測試執行清單

在「測試執行」頁面查看排定的測試執行清單。按一下「View」(查看),即可查看測試執行的詳細資料。

您也可以在篩選列中輸入字串,然後按下 Enter 鍵,篩選清單。您可以使用多個篩選器,並以半形逗號分隔。篩選器會傳回任何資料欄中包含完整文字 (不含子字串比對) 的所有資料列,但不包括「Status」(狀態) 和「Created」(建立時間)。

空白篩選器會傳回所有資料列。目前無法篩選空白值的資料列。

測試執行作業清單

圖 26. 測試執行清單。

測試執行作業詳細資料

您可以在這裡查看測試執行的詳細資料,例如狀態、記錄和結果。

測試執行作業詳細資料

圖 27. 測試執行詳細資料。

測試執行狀態

測試執行的進度會顯示在「狀態」部分。如果系統有相關訊息 (例如下載進度、取消原因或錯誤訊息),也會顯示在這裡。

測試執行狀態

圖 28. 測試執行狀態。

測試執行狀態包括:

  • 待處理:正在下載必要資源。
  • 已排入佇列:裝置可用時,測試就會執行。
  • 執行中:測試正在分配的裝置上執行。
  • Completed:測試已完成並回報結果。
  • 已取消:測試由使用者取消,或在嘗試尋找可用裝置時逾時。
  • 錯誤:發生錯誤,導致測試無法執行。

取消測試執行作業

如果測試執行作業尚未完成,您可以按一下「Cancel」,然後在確認對話方塊中按一下「Yes」,取消測試執行作業。如果測試執行作業處於「Queued」狀態的時間超過 queue_timeout_seconds 欄位,也會自動取消。在「Running」(執行中) 狀態下取消測試執行作業,可能需要幾分鐘才會生效。

取消測試執行作業

圖 29. 取消測試執行作業。

測試執行結果

測試執行完畢後,系統會收集並顯示結果。點選各項執行作業的箭頭,即可查看更多詳細資料。按一下「View Output Files」,查看收集到的測試構件,例如 test_result.xml 和 test_result_failures.html。

測試執行結果

圖 30. 測試執行結果。

您可以在「記錄」分頁中查看即時主機和 Tradefed 記錄。

測試執行記錄

圖 31. 「記錄」分頁。

個別模組的結果會顯示在「Test Results」分頁。

「測試結果」分頁

圖 32. 「測試結果」分頁。

如要下載做為測試資源的檔案,請按一下「Test Resources」分頁中的「Open」。

「測試資源」分頁

圖 33. 「測試資源」分頁。

如要查看測試執行的詳細資料 (例如 create_time),請前往「設定」分頁。

「Test Config」(測試設定) 分頁

圖 34. 「設定」分頁。

進階功能

管理設定檔

OmniLab ATS 會使用以 YAML 編寫的設定檔,載入預先定義的選項,例如測試、建構管道和裝置動作。以下是設定檔範例:

// example_file.yaml
tests:
- id : android.cts.9_0.arm
  name: CTS 9.0 (ARM)
  test_resource_defs:
  - name: android-cts.zip
    default_download_url: https://dl.google.com/dl/android/cts/android-cts-9.0_r7-linux_x86-arm.zip
    test_resource_type: TEST_PACKAGE
  command: cts
  env_vars:
  - name: TF_PATH
    value: ${TF_WORK_DIR}/android-cts/tools:${TF_WORK_DIR}/android-cts/testcases
  - name: LD_LIBRARY_PATH
    value: ${TF_WORK_DIR}/android-cts/lib:${TF_WORK_DIR}/android-cts/lib64
  setup_scripts:
  output_file_patterns:
  - android-cts/logs/latest/.*
  - android-cts/results/latest/.*\.html
  - android-cts/results/latest/compatibility_result\..*
  - android-cts/results/latest/logo.png
  - android-cts/results/latest/test_result.xml
  result_file: test_result.xml
  java_properties:
  - name: CTS_ROOT
    value: ${TF_WORK_DIR}
  context_file_dir: android-cts/results/
  context_file_pattern: '[\d_\.]+\.zip'
  retry_command_line: retry --retry 0
  runner_sharding_args: --shard-count ${TF_SHARD_COUNT}

build_channels:
- id: google_drive
  name: Google Drive
  provider_name: Google Drive

device_actions:
- id: flash
  name: Flash
  test_resource_defs:
  - name: bootloader.img
    test_resource_type: DEVICE_IMAGE
  - name: radio.img
    test_resource_type: DEVICE_IMAGE
  - name: img.zip
    test_resource_type: DEVICE_IMAGE
  tradefed_target_preparers:
  - class_name: com.android.tradefed.targetprep.RunHostCommandTargetPreparer
    option_values:
    - name: work-dir
      values:
      - ${TF_WORK_DIR}
    - name: host-setup-command
      values:
      - adb -s $SERIAL reboot-bootloader
      - fastboot -s $SERIAL flash bootloader bootloader.img
      - fastboot -s $SERIAL flash radio radio.img
      - fastboot -s $SERIAL reboot-bootloader
      - fastboot -s $SERIAL -w update img.zip
      - adb -s $SERIAL wait-for-device
    - name: host-cmd-timeout
      values:
      - 10m

設定 OmniLab ATS 執行個體時,您可以將設定匯出為檔案,與其他使用者共用。方法是前往「設定」頁面,然後按一下右上方的「匯出」。

設定檔管理

圖 35. 設定檔管理。

下載設定檔後,請與其他使用者共用。只要按一下「Import」(匯入) 並選取設定檔,即可將設定檔新增至 OmniLab ATS 執行個體。

建立新的裝置動作

裝置動作可用於自動化裝置設定程序。動作是指在每次執行測試 (包括重試) 前,在執行測試的每部裝置上執行的指令碼。如要查看可用的裝置動作清單,請前往「設定」頁面,然後按一下「裝置動作」分頁標籤。系統已預先設定多項裝置動作,例如重新啟動和刷機。

「裝置動作」分頁

圖 36. 「裝置動作」分頁。

新增裝置動作

  1. 按一下「新增裝置動作」。

    「新裝置動作」按鈕

    圖 37. 「新增裝置動作」按鈕。

  2. 輸入名稱和說明。

    裝置動作名稱

    圖 38. 裝置動作名稱。

  3. 按一下「Add Target Preparer」。

  4. 輸入 Trade Federation 目標準備器的完整類別名稱,例如 com.android.tradefed.targetprep.RunHostCommandTargetPreparer。

    新增目標準備者

    圖 39. 新增目標準備者。

    如需可用的目標預備工具清單,請參閱 com.android.tradefed.targetprep 參考資料。

    目標準備者清單

    圖 40. 目標準備器清單。

  5. 新增要與目標預備工具搭配使用的選項。如要查看可用選項,請在 AOSP 中查看 targetprep,瞭解每個目標預備工具的原始碼:

    動作選項範例

    圖 41. 動作選項範例。

  6. 如要新增選項,請按一下「Add Target Preparer Option」(新增目標準備工具選項),然後輸入必要的值。

    動作指令範例

    圖 42. 動作指令範例。

  7. 定義執行裝置動作所需的測試資源,例如用於刷機的建構映像檔。如要新增資源定義,請按一下「Add Test Resource」(新增測試資源),然後填寫必填欄位。如果您知道檔案的位置,可以按一下「瀏覽」,提供預設下載網址。如果目標預備工具接受目錄做為測試資源,請選取「Decompress」。接著,在暫時目前使用的目錄下指定相對 Destination 目錄,以及要解壓縮的 File Names (檔案名稱)。如未提供檔案名稱,系統會從測試資源解壓縮所有檔案。

    動作測試資源

    圖 43. 動作測試資源。

  8. 按一下「更新」。

    動作:儲存變更

    圖 44. 儲存變更。

管理測試

編輯測試

如要編輯已儲存的測試,請前往「測試」頁面,然後在要修改的測試列中按一下「編輯」。變更測試設定後,請按一下「Update」(更新)。

編輯測試

圖 45. 編輯測試。

新增測試

如要新增測試,請前往「測試」頁面,然後按一下「建立新測試」。輸入適當資訊,然後按一下「Create」(建立)。

建立測試

圖 46. 建立測試。

複製測試

圖 47. 複製測試。

匯出主機設定

設定主機後,您可以將主機設定匯出至檔案。您可以將這個檔案上傳到其他主機,複製已儲存的設定。

如要匯出主機設定,請前往「Settings」(設定) 頁面,然後按一下右上角的「Export」(匯出)。

匯出主機設定

圖 48. 匯出主機設定。

如要匯入主機設定檔,請前往「Settings」(設定) 頁面,然後按一下右上角的「Import」(匯入)。

匯入主機設定

圖 49. 匯入主機設定。

使用本機檔案和目錄

從 R11 版本開始,OmniLab ATS 會自動存取 $HOME/.ats_storage 目錄中的檔案。將檔案複製或移動到該目錄,即可在排定測試執行作業時,從「Local File」(本機檔案) 分頁選取該檔案。

cp /path/to/file $HOME/.ats_storage

選取本機檔案

圖 50. 從 $HOME/.ats_storage 目錄選取檔案。

您可以使用 --mount_local_path 旗標,將其他目錄掛接至本機檔案儲存庫。

mtt start --mount_local_path=/path/to/dir1 --mount_local_path=/path/to/dir2:renamed_dir2

其他掛接目錄

圖 51. 掛接在本機檔案儲存庫中的其他目錄。

啟用多主機模式

在多主機模式下,使用者可以透過單一 ATS 控制器主機,管理多部 ATS worker 主機上的裝置和測試。

多主機模式架構

圖 52. 多主機模式架構。

  1. 如要啟動 ATS 控制器,請使用下列指令:

    mtt start --operation_mode=ON_PREMISE
    
  2. 請確認控制器可透過 http://${CONTROLLER_HOSTNAME}:8000 存取。

  3. 如要啟動 worker,請使用下列指令:

    mtt start --control_server_url=http://CONTROLLER_HOSTNAME:8000 --operation_mode=ON_PREMISE
    

如果網路不允許主機彼此通訊,請按照下方 ATS worker 的進階設定操作說明操作。

  1. 使用 SSH 通道連結兩部主機。選取主要和檔案伺服器通訊埠,例如 9000 和 9006。

    ssh -L ATS_PORT:localhost:8000 -L FS_PORT:localhost:8006 CONTROLLER_HOSTNAME
    
  2. 設定並啟動 ATS。

    DOCKER_GATEWAY_IP_ADDRESS=$(ip -4 addr show dev docker0 | grep -Eo 'inet [.0-9]+/' | grep -Eo '[.0-9]+')
    socat tcp-listen:ATS_PORT,bind="${DOCKER_GATEWAY_IP_ADDRESS}",reuseaddr,fork tcp-connect:127.0.0.1:ATS_PORT &
    socat tcp-listen:FS_PORT,bind="${DOCKER_GATEWAY_IP_ADDRESS}",reuseaddr,fork tcp-connect:127.0.0.1:FS_PORT &
    mtt start --control_server_url=http://${DOCKER_GATEWAY_IP_ADDRESS}:ATS_PORT \
                    --control_file_server_url=http://${DOCKER_GATEWAY_IP_ADDRESS}:FS_PORT \
                    --operation_mode=ON_PREMISE
    

檔案清理工具

檔案清理工具是每小時執行一次的 Cron 工作,會根據使用者定義的設定清理檔案。ATS 有兩項預設設定,可封存測試執行結果及刪除暫存檔案。本指南說明如何自訂政策和設定,有效管理檔案。

政策

政策會定義要對檔案或目錄執行的作業,以及選取目標的條件。下表列出可用的作業:

作業類型參數
ARCHIVEremove_file:如果為 true,則在封存後移除檔案。
DELETE

條件是根據檔案屬性和系統資訊而定。下表列出可用的條件:

條件類型說明參數
LAST_MODIFIED_TIME根據上次修改日期和時間篩選檔案。ttl:支援多種時間表示法,例如 10m、2h、7 days、4w。如要瞭解支援的格式,請參閱 pytimeparse。
LAST_ACCESS_TIME根據上次存取日期和時間篩選檔案。與 LAST_MODIFIED_TIME 相同。
NAME_MATCH使用規則運算式,依名稱篩選檔案。pattern:規則運算式,例如 [a-f0-9]{8}-([a-f0-9]{4}-){3}[a-f0-9]{12}\.zip,用於比對結果 ZIP 檔案。
SYSTEM_AVAILABLE_SPACE根據系統可用空間觸發動作。threshold:可用空間低於門檻時觸發動作,例如 200(B)、200KB、200MB、200GB、2TB。

新版檔案清理工具政策

圖 53. 新增檔案清理工具政策。

設定

設定會將一或多項政策與特定目錄結合。系統會根據定義的政策,處理指定目錄中的檔案和目錄。系統會按照政策在設定中的顯示順序套用政策。

所有目標目錄都必須位於 /data 目錄下。如果設定將目標目錄指定為 logs,系統會解讀為 /data/logs。

編輯檔案清理工具設定

圖 54. 編輯檔案清理工具設定。

重設

按一下「Reset Settings」,即可將檔案清理工具設定還原為預設狀態。這項操作會清除所有自訂項目。

重設檔案清理工具設定

圖 55. 重設檔案清理工具設定。

支援

錯誤報告

您對 OmniLab ATS 的貢獻有助於改善工具的開發,我們希望您能提供意見!如需最新版本資訊,請參閱 OmniLab ATS 版本資訊。如要回報錯誤或提供建議,請提交錯誤報告。合作夥伴應透過合作夥伴管道回報錯誤或提供建議。