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 套件:
根據裝置架構選取裝置目標,然後執行 以下指令:
lunch <target>
如要建構 CATBox,請執行下列指令:
make catbox
這個指令會建立
android-catbox.zip
檔案在/out/host/linux-x86/catbox
目錄,可用於執行測試。
設定環境
執行 CATBox 測試所需的環境設定與 設定 CTS。如要設定 ,請完成下列各項工作:
安裝 ADB 和 AAPT。
安裝 JDK。詳情請見 Ubuntu 適用的 Java Development Kit
調高記憶體限制。詳情請見 儲存空間需求。
設定並執行 CATBox
使用交易測試架構在 Android 裝置上執行測試。使用前 設定 CATBox,請參閱貿易聯盟總覽。
如要設定及執行 CATBox,請參閱下列各節。
設定裝置
執行測試計畫前,請先完成下列步驟設定裝置:
確認您已安裝最新版本的 Android Debug Bridge (ADB) 和 Android 資產封裝工具 (AAPT), 並且將這些工具的位置新增至 這類機制更為快速詳情請參閱 ADB 和 AAPT。
請至少連接一部裝置,並將要測試的裝置 (DUT) 準備為 如下:
如要將汽車裝置恢復原廠設定,請前往 設定 >系統 >重設選項 >清除所有資料。
等待裝置自動重新啟動。
確認 ADB 已啟用。如要確認裝置是否可用,請執行 以下指令:
adb devices
如要啟用根層級,請執行下列指令:
adb -s DEVICE_SERIAL root
將
DEVICE_SERIAL
替換為 車用裝置。連線至 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 |