用于近场通信 (NFC) 的 Hardware Lab Kit (HLK)
用于 NFC 的 HLK 验证 NFC 驱动程序实现是否符合 Microsoft 规范。 虽然测试可以手动运行,但为了对 HLK NFC 测试套件进行更快、更可靠的自动化测试,建议合作伙伴获取 NFC 互操作性测试工具 (NITT)。
NITT 模拟 1、2、3 和 4 类 NFC 论坛标签。 NITT 有一个机械臂,可以移动射频屏蔽,模拟点对点场景和卡仿真场景的触碰/取消触碰操作。 下图演示了 NITT 设置。
NITT 由 7.5v 的外部电源供电,并连接到客户端电脑。
若要获取 NITT,请使用以下联系信息:
JJG Technologies LLC
1034 231st Pl NE
Sammamish, WA 98074
Phone: (206) 304-1921 Fax: (208) 298-0623
inquiry@jjgtechnologies.com
设置 HLK 测试框架后:
硬件要求
- 搭载 NFC 芯片的设备(称为受测设备 (DUT)),用于实现 NFC 驱动程序 DDI 并接受符合性测试
- 带 USB 端口的台式电脑(电脑客户端)
- 连接到电脑客户端的 NITT 板(如果有)
- 搭载 NFC 芯片的设备,用于实现近场邻近感应 DDI(NFC 客户端)
- 连接到电脑客户端的智能卡读卡器(通过 USB 或嵌入在电脑客户端中)
注意
电脑客户端需要安装通用 C 运行时。 此包可直接从 Microsoft 下载中心获得。
测试执行
运行测试前的准备工作
- 确保将 HLK 客户端部署到 DUT。
- 将 DUT 放在 NITT 板 NFC 天线的顶部。
- 根据要运行的测试,将 NFC 客户端或智能卡读卡器放在 NFC 天线和 NITT 的射频屏蔽下方。
- 确保电脑客户端安装了通用 C 运行时。
- 确保 DUT、NFC 客户端和电脑客户端具有网络连接。 如果 DUT 或 NFC 客户端是手机,需要使用虚拟以太网工具才能连接到手机。
HLK Studio/控制器在 DUT 上部署和运行测试用例,但需要测试人员的一些干预。 对于需要手动干预的测试用例,需要手动启动帮助程序二进制文件。 为此,NFC 和电脑客户端需要进行以下设置:
NFC 客户端
创建工作文件夹,并将对应于客户端体系结构的 TAEF 二进制文件从 HLK 控制器复制到工作目录。 对于典型的 HLK Studio 设置,TAEF 二进制文件将位于以下目录中:
C:\Program Files (x86)\Windows Kits\10\Testing\Runtimes\TAEF\<arch>\*\MinTE\*
其中 <arch> 是 x86、x64、arm、arm64。
将 NfcRemotePeerService.dll 从以下 HLK Studio 位置复制到上面创建的工作目录:
C:\Program Files (x86)\Windows Kits\10\Hardware Lab Kit\Tests\<arch>\NFC\NfcRemotePeerService.dll
其中 <arch> 是 x86、amd64、arm、arm64。
电脑客户端(*使用 NITT 时的设置)
创建工作文件夹,并将对应于客户端体系结构的 TAEF 二进制文件从 HLK 控制器复制到工作目录。 对于典型的 HLK Studio 设置,TAEF 二进制文件将位于以下目录中:
C:\Program Files (x86)\Windows Kits\10\Testing\Runtimes\TAEF\<arch>\*\MinTE\*
其中 <arch> 是 x86、x64、arm、arm64。
将 NfcNittController.exe 从以下 HLK Studio 位置复制到上面创建的工作目录:
C:\Program Files (x86)\Windows Kits\10\Hardware Lab Kit\Tests\<arch>\NFC\NfcNittController.exe
其中 <arch> 是 x86、amd64、arm、arm64。
将 MuttUtil.dll 从以下 HLK Studio 位置复制到上面创建的工作目录:
C:\Program Files (x86)\Windows Kits\10\Hardware Lab Kit\Tests\<arch>\usb\MuttTools\MuttUtil.dll
其中 <arch> 是 x86、amd64、arm、arm64。
电脑客户端(*不使用 NITT 时的设置)
创建工作文件夹,并将对应于客户端体系结构的 NfcManualHelper.exe 从 HLK 控制器复制到工作目录。 对于典型的 HLK Studio 设置,NfcManualHelper.exe 将位于以下目录中:
C:\Program Files (x86)\Windows Kits\10\Hardware Lab Kit\Tests\<arch>\NFC\NfcManualHelper.exe
其中 <arch> 是 x86、x64、arm、arm64。
使用 HLK 运行测试
HLK Studio
在 HLK Studio 中,根据下图从“测试”选项卡中选择测试:
单击“运行所选项”
如果要手动运行测试(没有 NITT),则将参数值从 nitt 更改为 manual,如下图所示:
使用 NFC 客户端进行测试
打开命令提示符,并转到上面创建的工作文件夹
运行以下命令:
TE.exe NfcRemotePeerService.dll /p:server=<ip_of_dut>
其中 <ip_of_dut> 是 DUT 的 IP 地址
NfcRemotePeerService.dll 将连接到 DUT 上运行的测试并接收来自测试的命令。 这些命令将指示 NfcRemotePeerService.dll 何时在 NFC 客户端上创建近场邻近感应发布和订阅。 将 DUT 与 NFC 客户端触碰时,会触发发布和订阅,并演习 NFC 的点对点场景。
使用电脑客户端进行测试(*使用 NITT 时的设置)
打开命令提示符,并转到上面创建的工作文件夹
运行以下命令:
nfcnittcontroller.exe -server <ip_of_dut> -tagIndex <tag_index> -reader <reader_name>
其中 <ip_of_dut> 是 DUT 的 IP 地址,<tag_index> 是 NITT 板标签索引,<reader_name> 是连接到电脑客户端的智能卡读卡器的名称。 <tag_index> 的可能值为 1、2、3 和 4,分别对应于符合 NFC 论坛规范的 T1T、T2T、T3T 和 T4T。 若要查找连接到电脑客户端的智能卡读卡器的名称,可以使用 NfcManualHelper.exe 的 -listReaders 选项(见下文)。
NfcNittController.exe 将连接到 DUT 上运行的测试并接收来自测试的命令。 这些命令将指示 NfcNittController.exe 何时使用 NITT 执行操作。 这些操作将自动执行,不需要任何手动交互。 示例操作:在 NITT 上打开和关闭射频屏蔽,启用和禁用标签。
电脑客户端测试(*不使用 NITT 时的设置)
打开命令提示符,并转到上面创建的工作文件夹
运行以下命令:
nfcmanualhelper.exe -server <ip_of_dut> -reader <reader_name>
其中 <ip_of_dut> 是 DUT 的 IP 地址,<reader_name> 是连接到电脑客户端的智能卡读卡器的名称。 若要查找连接到电脑客户端的智能卡读卡器的名称,可以运行以下命令:
nfcmanualhelper.exe -listReaders
NfcManualHelper.exe 将连接到 DUT 上运行的测试,并输出有关执行测试时要执行哪些操作的说明。 示例说明:用 DUT 触碰 NFC 客户端,用 DUT 触碰智能卡读卡器,用 DUT 触碰近场邻近感应标签。