本页介绍了如何针对 Android 16 及更高版本使用 CTS 验证程序 (CTS-V) 多设备测试。
设置主机端多设备测试
本部分介绍了如何设置多设备测试。
- 确保您的桌面设备符合 CTS 的操作系统要求。
- 请按照安装桌面软件中的第 2 步和第 5 步操作,确保 adb、AAPT2 和 Python 已正确安装在您的桌面设备上。
准备两部匹配的被测设备 (DUT),且每部都已设置 CTS-V。
如果您要测试的模块不是 NFC,请按照设置标准的两设备测试中的说明操作。
- 对于 NFC 测试,请按照设置 NFC 测试中的说明操作。
如果您要测试 CDM 模块,除了标准的两设备设置之外,还应按照设置 CDM 测试进行操作。
设置标准的两设备测试
对于默认的两设备设置:
- 将两台匹配的 Android DUT 放置在相距约 20 厘米的位置。
为确保环境干净,请将这两台设备放入屏蔽盒中。
(可选)设置 OTA 嗅探器以进行 Wi-Fi 调试。
设置 NFC 测试
NFC 测试使用一部 DUT 和一个 PN532 NFC 芯片。
如需设置 NFC 测试,请执行以下操作:
- 购买 PN532 NFC 芯片。我们建议使用 All-In-One PN532。
在 DUT 上,前往设置应用。
启用 NFC。
放置 NFC 芯片:
对于手机,请将 DUT 的 NFC 读取器放置在图 1 所示位置:
图 1. NFC 芯片位置。
对于其他设备类型,请将该芯片放置在设备的 NFC 天线旁边。
使用 USB 线将 PN532 NFC 芯片连接到测试工作站。
设置 CDM 测试
test_permissions_sync()
测试用例的行为因执行测试的设备的 build 类型而异。必须由原始设备制造商 (OEM) 测试可调试 build(userdebug 或 eng)和不可调试 build(user),并且这两种 build 都通过测试。
豁免
权限同步 API 实现的 CDD 子句仅要求该实现能够通过安全通道在设备之间成功传输数据。由于安全信道实现不是 CDD 合规性要求,因此在不可调试的(用户)build 上可以跳过此测试,但前提是您选择不支持 CDM 权限同步功能。
测试必须在可调试 build 上通过,没有例外情况。
在不可调试 build 上进行测试的先决条件
如果您不符合上述豁免条款,请确保满足以下前提条件。
安全信道使用 AVF (AttestationVerificationFramework
) 来验证硬件的可信性。双方生成的认证包含有关各自的多项信息,以确保其系统中没有任何未经授权的更改。AVF 会在验证过程中检查以下状态:
- 设备可以访问互联网
- 设备使用经过验证的启动,并且 build 必须使用 release-key(而非 dev-key)签名
- 设备的引导加载程序已锁定。如需详细说明,请参阅锁定引导加载程序
- 操作系统、关键启动和关键供应商补丁级别在 12 个月内。请勿使用超过一年的 build
设备认证由供应商批准的根证书之一提供支持。在
vendor_required_attestation_certificates.xml
资源叠加层中指定受信任的根证书。
运行主机端多设备测试(AOSP 16 或更高版本)
CTS 验证程序 16 引入了对主机端多设备测试的支持。这些测试可以在主机上使用自动化脚本执行,而不是在设备上执行手动测试操作。每项测试完成后,结果会自动上传到 DUT 并显示在 CTS 验证程序应用中。
本部分介绍如何运行主机端多设备测试。
运行多设备测试
如需运行多设备测试,请执行以下操作:
在测试工作站上,从解压缩 CTS-V ZIP 软件包的目录中启动
cts-v-host
控制台:./android-cts-verifier/android-cts-v-host/tools/cts-v-host-tradefed
在 DUT 上的 CTS 验证程序应用中,点击主机端测试。图 2 显示了 CTS 验证程序应用中的主机端测试:
图 2. CTS 验证程序应用中的主机端多设备测试。
系统会显示主机端多设备测试模块列表。
确定要运行的测试模块的名称。例如,CompanionDeviceManager 模块列为 CtsCompanionDeviceManagerMultiDeviceTestCases。
在 cts-v-host 控制台中,运行以下命令: 注意:如果您在 CTS 验证程序应用中点按主机端模块,则不会看到各个测试用例的列表。实际上,界面会于模块在主机上执行后自动填充测试用例结果。
在 xTS 控制台中,运行以下命令:
run cts-v-host -m test_module_name
例如:
run cts-v-host -m CtsCompanionDeviceManagerMultiDeviceTestCases
xTS 控制台运行完测试后,结果会显示在 CTS 验证程序应用中。标记为绿色的测试已通过。标记为红色的测试已失败。图 3 显示了 CtsCompanionDeviceManager 测试的示例结果:
图 3. CTS 验证程序应用中的主机端多设备测试结果。
排查多设备测试问题
本部分提供可能问题的排查帮助。
修复了 NFC 测试期间 GetFirmwareVersion 无响应的问题
如果您在运行多设备测试时收到消息 verify_firmware_version RuntimeError: No response
for GetFirmwareVersion
,则表示测试无法访问 PN532 NFC 板。
如需解决此问题,请确定主机上 PN532 NFC 板使用的串行路径(例如 dev/ttyUSB1
),然后使用控制台中的 --module-arg
参数手动指定该路径:
run cts-v-host -m CtsNfcHceMultiDeviceTestCases --module-arg CtsNfcHceMultiDeviceTestCases:pn532_serial_path:/dev/ttyUSB1
修复了 NFC 测试期间出现的“Transaction failed”错误消息
如果您的所有 NFC 测试用例都收到消息 Transaction failed, check device logs for more
information.
,可能是因为 DUT 的 NFC 芯片无法检测到 PN532。
如果您有多部设备连接到主机,并且其中一些设备没有任何放置在顶部的 PN532,则可能选择了错误的 DUT。如需了解详情,请参阅设置 NFC 测试。
如要解决此问题,请执行以下任一操作:
使用
-s
标志在主机端测试命令中设置正确的 DUT 序列号。断开所有非 DUT 设备与主机的连接。