You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android模拟器NFC通信测试及自动化测试方案咨询

模拟器NFC通信可行性与测试方案

一、两台模拟器间的NFC通信实现

Android Studio模拟器从**API 26(Android 8.0)**开始支持软件模拟NFC功能,仅支持NDEF格式的消息传输,具体操作步骤:

  • 创建模拟器时,在Hardware配置中勾选"NFC support";若已创建,启动模拟器后打开右侧的Extended Controls,在NFC面板开启功能
  • 启动两台符合API要求的模拟器,分别打开应用的NFC收发界面
  • 在其中一台模拟器的Extended Controls → NFC面板,点击"Send NFC Message",输入NDEF格式的消息(支持文本、URI等),在目标设备列表中选择另一台模拟器,发送后即可触发接收端的NFC回调逻辑

注意:模拟器不支持Android Beam(API 29后已被官方移除)及其他非NDEF的P2P通信模式,仅能测试基于NDEF的NFC交互场景

二、物理设备与模拟器间的NFC通信

官方Android模拟器暂不支持与物理设备的NFC硬件直接交互,可采用以下变通方案测试:

  • 测试真机接收逻辑:在模拟器中生成NDEF消息,将消息内容导出为十六进制字符串,写入真实的NFC标签,用真机读取标签验证应用接收逻辑
  • 测试真机发送逻辑:用真机读取真实NFC标签,导出标签的NDEF消息内容,在模拟器的NFC面板手动发送该消息,验证应用的接收处理逻辑

三、模拟器间NFC通信的自动化测试

可结合ADB命令与Instrumented Tests实现自动化测试:

  1. 环境准备:启动两台已开启NFC功能的模拟器,确保应用已安装并可正常打开NFC界面
  2. ADB命令控制NFC消息发送:
    • 通过adb devices获取两台模拟器的设备名称(如emulator-5554、emulator-5556)
    • 在发送端模拟器执行命令:adb -s <发送端设备名> emu nfc send <NDEF消息十六进制>
    • 示例:发送文本"Test NFC"的NDEF消息,可先通过代码构建NDEF消息并转换为十六进制,再传入命令
  3. 编写Instrumented Test:
    • 在接收端模拟器的测试代码中,注册NFC广播接收器或监听Activity的NFC意图(如NDEF_DISCOVERED)
    • 使用Espresso模拟打开应用的NFC接收页面,执行ADB发送命令后,断言界面显示的接收内容或业务逻辑处理结果符合预期
  4. 优化测试效率:可提前创建模拟器快照,保存开启NFC、打开应用的状态,测试时快速恢复快照,减少重复配置时间

内容的提问来源于stack exchange,提问作者Tim Korelov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 03:58:21