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。

使用虚拟设备运行测试

选择设备

在设备列表上,ATS 会将虚拟设备显示为占位符,而不是其实际序列号。占位符以 HOSTNAME:local-virtual-device-ID 的格式显示。状态是“可用”或“已分配”。“可用”状态占位符表示虚拟设备未运行并且可以分配给测试。

选择虚拟设备

图 1. 选择虚拟设备

添加设备操作

如果您至少选择一个本地虚拟设备,则关联的设备操作应该会自动添加到列表中。操作包含创建虚拟设备所需的 TradeFed 参数和测试资源。

虚拟设备操作

图 2. 虚拟设备的设备操作

设置测试资源

Cuttlefish 虚拟设备需要三项测试资源,即虚拟机工具、映像和 Acloud。在典型的 Cuttlefish build(例如,ci.android.com 上的 aosp_cf_x86_64_phone)中,虚拟机工具封装在 cvd-host_package.tar.gz 中,映像位于 aosp_cf_x86_64_phone-img-*.zip 中。Acloud 二进制文件内置于 ATS 中,并与所有版本的 Cuttlefish 兼容。您只需出于调试目的更改 Acloud 二进制文件的默认下载网址。

虚拟设备测试资源

图 3. 虚拟设备测试资源

查看测试运行

设备日志(包括 kernel.loghost_log.txtlauncher.log)会收集在输出文件文件夹中。点击查看输出文件即可查看。

测试运行结果

图 4. 测试运行结果