Android Test Station 支援Cuttlefish 虛擬設備,讓您無需實體 Android 設備即可執行測試。 Cuttlefish 適合用來測試與硬體無關的功能。在開始使用虛擬裝置之前,請按照使用者指南安裝 Android Test Station。
安裝 Cuttlefish 依賴項
執行以下命令以確保載入必要的核心模組:
sudo modprobe -a kvm tun vhost_net vhost_vsock
使用虛擬裝置啟動 Android Test Station
若要啟用虛擬設備,請執行:
mtt start --max_local_virtual_devices N
N
是ATS可以同時分配的最大虛擬設備數。預設數字為 0。
如果由於缺少設備節點而導致命令失敗,請按照錯誤訊息中的步驟載入核心模組。如果仍然失敗,請重新啟動機器。
在執行該命令之前,您必須關閉所有 Cuttlefish 實例。 ATS 在測試週期中自動啟動和關閉虛擬設備。現有的 Cuttlefish 實例與 ATS 管理的實例衝突。
使用虛擬設備執行測試
選擇設備
在設備清單上,ATS 將虛擬設備顯示為佔位符,而不是其實際序號。佔位符以HOSTNAME:local-virtual-device-ID的格式顯示。狀態為「可用」或「已指派」 。處於可用狀態的佔位符表示虛擬設備未運行並且可以分配用於測試。
圖 1.選擇虛擬設備
新增設備操作
如果您至少選擇一個本機虛擬設備,則關聯的設備操作應自動新增至清單。此操作包含建立虛擬設備所需的 TradeFed 參數和測試資源。
圖 2.虛擬設備的設備操作
設定測試資源
Cuttlefish 虛擬設備需要三種測試資源:虛擬機器工具、鏡像和Acloud 。在典型的 Cuttlefish 建置中(例如ci.android.com上的aosp_cf_x86_64_phone
),虛擬機器工具打包在cvd-host_package.tar.gz
中,映像位於aosp_cf_x86_64_phone-img-*.zip
中。 Acloud 二進位檔案是在 ATS 中建構的,並且與 Cuttlefish 的所有版本相容。僅出於偵錯目的才需要更改 Acloud 二進位檔案的預設下載 URL。
圖 3.虛擬設備的測試資源
查看測試運行
裝置日誌(包括kernel.log
、 host_log.txt
和launcher.log
收集在輸出資料夾中。點擊“查看輸出檔”即可查看它們。
圖 4.測試運行結果