在 Box 中完成 Automotive 測試

Box (CATBox) 中的 Automotive 測試是開放原始碼套件, 提供了簡化及執行汽車業所需的架構與工具 能以最少的設定進行測試CATBox 可擴充且相容於 包括用於測試及驗證 Android 的工具、基礎架構和測試 Automotive OS (AAOS) 實作。因此,您可以提供高品質的 把產品移到市集

CATBox 設計和實作

CATBox 測試套件提供所需的工具、架構和測試, 在汽車目標裝置上執行功能性和效能測試 一併使用該應用程式

下圖說明 CATBox 套件的高階設計。

收納盒

圖 1. CATBox 套件

交易

Tradefed 是一種開放原始碼持續測試架構,可在 Android 裝置。詳情請參閱貿易聯盟總覽

Automotive 測試架構

CATBox 是以名為 Spectatio:提供測試用的 API 各種車款上的應用程式。以頂層為建構基礎 / UI Automator, 一種開放原始碼測試架構,可提供一組 API 建構 UI 測試 能與使用者和系統應用程式互動

下載 CATBox 測試套件

Android 14

Android Automotive 14 是 開發里程碑的名稱為 U使用下列連結即可下載 Android 14 的 CATBox 測試套件:

Android 12

Android 12 是開發里程碑的版本 。請使用以下連結下載 CATBox 測試套件: Android 12:

Android 11

Android 11 是產品代號 R 開發里程碑的版本。使用 以下連結下載 Android 11 適用的 CATBox 測試套件:

建構 CATBox

等到 Android 開放原始碼計畫程式碼取得 Android 開放原始碼計畫程式碼之後,請使用 catbox 建構指令 本機工作站

如何在本機建構 CATBox 套件:

  1. 根據裝置架構選取裝置目標,然後執行 以下指令:

    lunch <target>
    
  2. 如要建構 CATBox,請執行下列指令:

    make catbox
    

    這個指令會建立 android-catbox.zip 檔案在 /out/host/linux-x86/catbox 目錄,可用於執行測試。

設定環境

執行 CATBox 測試所需的環境設定與 設定 CTS。如要設定 ,請完成下列各項工作:

設定並執行 CATBox

使用交易測試架構在 Android 裝置上執行測試。使用前 設定 CATBox,請參閱貿易聯盟總覽

如要設定及執行 CATBox,請參閱下列各節。

設定裝置

執行測試計畫前,請先完成下列步驟設定裝置:

  1. 確認您已安裝最新版本的 Android Debug Bridge (ADB)Android 資產封裝工具 (AAPT), 並且將這些工具的位置新增至 這類機制更為快速詳情請參閱 ADB 和 AAPT

  2. 請至少連接一部裝置,並將要測試的裝置 (DUT) 準備為 如下:

    1. 如要將汽車裝置恢復原廠設定,請前往 設定 >系統 >重設選項 >清除所有資料。

    2. 等待裝置自動重新啟動。

    3. 確認 ADB 已啟用。如要確認裝置是否可用,請執行 以下指令:

      adb devices
      
    4. 如要啟用根層級,請執行下列指令:

      adb -s DEVICE_SERIAL root
      

      DEVICE_SERIAL 替換為 車用裝置。

    5. 連線至 Wi-Fi。

擷取 CATBox 套件

完成裝置設定程序後,將 CATBox 套件解壓縮,然後前往 解壓縮的資料夾:

unzip android-catbox.zip
cd android-catbox

在 CATBox 中執行測試

如何在 CATBox 套件中使用測試計畫執行 CATBox:

./tools/catbox-tradefed run commandAndExit TEST_PLAN_NAME --serial DEVICE_SERIAL

DEVICE_SERIAL 替換為 車用裝置。如果您有多部裝置連線到主體電腦, 請使用 DEVICE_SERIAL 加以區別。將 將 TEST_PLAN_NAME 替換為您要的測試計畫名稱 執行。

如要取得可用方案的完整清單,請使用指令列:

./tools/catbox-tradefed list plans | grep -i catbox

測試計畫類型

下表列出可用的「功能」測試計畫。

功能測試計畫 說明
catbox-functional 功能測試。
catbox-functional-app-info-setting 應用程式資訊設定功能測試。
catbox-functional-admin-user-grant-permissions 管理員使用者授予權限功能測試。
catbox-functional-app-info-setting-ui-elements 應用程式資訊設定功能測試。
catbox-functional-appgrid 應用程式格線功能測試。
catbox-functional-base 功能測試清單。
catbox-functional-bluetooth-audio 藍牙音訊功能測試。
catbox-functional-bluetooth-palette 狀態列功能測試。
catbox-functional-bluetooth-tests 使用 Mobly 進行藍牙測試。
catbox-functional-brightness-palette 狀態列功能測試。
catbox-functional-btmoped 藍牙機碼式功能測試。
catbox-functional-date-time-setting 設定功能測試的日期和時間。
catbox-functional-dial 撥號功能測試。
catbox-functional-display-setting 顯示設定功能測試。
catbox-functional-driving-optimized-apps 使用者體驗限制功能測試。
catbox-functional-enable-developers-option 啟用開發人員選項功能測試。
catbox-functional-home 家用功能測試。
catbox-functional-lock-screen 螢幕鎖定功能測試。
catbox-functional-mediacenter 媒體中心功能測試。
catbox-functional-microphone-recent-apps 麥克風設定功能測試。
catbox-functional-microphone-setting 麥克風設定功能測試。
catbox-functional-multiuser 多使用者功能測試。
catbox-functional-multiuser-system-user 多使用者功能測試。
catbox-functional-navigation-bar 導覽列功能測試。
catbox-functional-network-palette 狀態列功能測試。
catbox-functional-network-setting 網路設定功能測試。
catbox-functional-notification 通知功能測試。
catbox-functional-privacy-permission-manager 「隱私權應用程式權限」設定功能測試。
catbox-functional-privacy-setting 麥克風設定功能測試。
catbox-functional-privacy-setting-ui-elements 隱私權設定功能測試。
catbox-functional-profile-icon 設定檔圖示列功能測試。
catbox-functional-profiles-icon-list 設定檔圖示 列出測試。
catbox-functional-security-setting 安全性設定功能測試。
catbox-functional-setting 設定功能測試。
catbox-functional-settings-location 設定位置測試。
catbox-functional-sound-setting 音效設定功能測試。
catbox-functional-status-bar 狀態列功能測試。
catbox-functional-storage-setting 儲存空間設定功能測試。
catbox-functional-system-setting 系統設定功能測試。
catbox-functional-systemui 系統 UI 測試。
catbox-functional-ux-restriction 使用者體驗限制功能測試。
catbox-functional-ux-restriction-facet-bar 使用者體驗限制功能測試。

下表列出 CATBox 效能測試計畫。

成效測試計畫 說明
catbox-performance-cold-app-start-up-dialer 針對 Dialer 和 Phone 進行的冷應用程式啟動效能測試。
catbox-performance-cold-app-start-up-mediacenter 適用於 Media Center 的冷應用程式啟動效能測試。
catbox-performance-cold-app-start-up-settings 用於測試設定的冷應用程式啟動效能測試。
catbox-performance-create-and-switch-to-new-guest 測量切換至新訪客的延遲時間。
catbox-performance-create-and-switch-to-new-user 評估切換至新的非管理員使用者的延遲時間。
catbox-performance-hot-app-start-up-dialer Dialer 和 Phone 的熱應用程式啟動效能測試。
catbox-performance-hot-app-start-up-mediacenter 適用於媒體中心的熱應用程式啟動效能測試。
catbox-performance-hot-app-start-up-settings 適用於設定的熱應用程式啟動效能測試。
catbox-performance-jank-appgrid Appgrid 的效能測試。
catbox-performance-jank-contact-list 聯絡人效能測試。
catbox-performance-jank-media 媒體成效測試。
catbox-performance-jank-media-switch-playback 媒體切換播放的效能測試。
catbox-performance-jank-notifications 通知效能測試。
catbox-performance-jank-settings 設定效能測試。
catbox-performance-switch-to-existing-user 評估切換至現有使用者的延遲時間。

執行多裝置主機端測試

多裝置主機端測試的執行作業使用 CATBox 執行測試 在同一工作階段中例如 BTDiscoveryTest

make catbox
./tools/catbox-tradefed run commandAndExit catbox-functional-bluetooth-tests --{phone}serial <serial> --{auto}serial <serial> --mobly-host:mobly-par-file-name BTDiscoveryTest

CATBox 會安裝 apk,然後在正確的 Python 中執行測試 執行環境

查看 CATBox 測試結果

功能性測試和效能測試的執行結果會儲存在 android-catbox/results/latest

搜尋結果類型 位置
測試結果 test_result.xml
失敗測試詳細資料 test_result_failures_suite.html
成效指標結果 /report-log-files/CatboxPerformanceTests.reportlog.json
功能和效能測試執行 /android-catbox/logs/latest