Android Test Station 中的虛擬設備

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.loghost_log.txtlauncher.log收集在輸出資料夾中。點擊“查看輸出檔”即可查看它們。

測試運行結果

圖 4.測試運行結果