執行測試案例之前,請確認所有測試裝置 (Golden and DUT) 皆已安裝已安裝的 GRL Test Harness 和 Harness 自動化工具,並連接至 Windows 機器。
使用 Harness 自動化工具
所有測試案例都是從 tools/harness-automation
目錄執行。方法有兩種:
start.sh
:使用 Bash,此套件隨附於 Git for Windowsstart.bat
:從 Windows 指令列 (cmd)
如要執行所有測試案例:
./start.sh
./start.bat
執行個別測試案例 (名稱有大小寫之分):
./start.sh Router_5_1_1 Leader_5_1_1
./start.bat Router_5_1_1 Leader_5_1_1
使用 GRL Test Harness
測試床設定完成後,系統會根據 DUT 的所選角色執行測試案例批次。「測試選項」部分會列出測試計劃下所選角色的可用測試案例:

視需要選取測試案例,然後按一下綠色播放按鈕即可執行。
手動測試作業
在測試過程中,「測試作業」會提示使用者手動輸入。
網路憑證
針對測試計劃第 5、6、7 和 9 節中的測試案例,網路憑證必須設為架構外的設定。例如:
裝置啟動期間的參數設定:
panid 0xface Done
channel 20 Done
networkname GRL Done
extpanid 000db80000000000 Done
「『UUT as aLead』」;
dataset activetimestamp 1 Done
dataset commit active Done
>「以裝置做為最終裝置」;設定:
mode rsn
Done
[DUT as SED] 配置,其中 pollperiod
(以毫秒為單位) 設為測試 Harness 中的預設 SedPollingRate
:
mode s Done
pollperiod 5000 Done
啟動 Thread 介面與堆疊:
ifconfig up Done
thread start Done
配置者角色設定
針對測試計畫第 8 節中的測試案例,請設定「佣金」角色。
在啟動 Thread 堆疊後啟動調度員:
commissioner start
Done
新增轉向資料:
commissioner joiner add eui64 THREADJPAKETEST 200
eui64
是由工廠指派的 IEEE EUI-64 識別碼,可透過 eui64
CLI 指令取得。THREADJPAKETEST
是連接者憑證,用來產生裝置的預先共用金鑰 (PSKd)。在設定的逾時時間過後,系統會移除彙整器。
我們建議在 8.2.x 的佣金測試案例中,使用 500
做為逾時值。
啟動 Thread 介面後,使用彙整工具憑證 THREADJPAKETEST
來啟動彙整者角色:
joiner start THREADJPAKETEST
啟動指定的 Thread 介面後,使用指定的佈建網址啟動「彙整者」角色:
joiner start THREADJPAKETEST www.threadgroup.org
其他輸入內容
測試作業可能會提示其他手動操作,並提供用於這些作業的值 (例如 IPv6 位址)。如果出現下列提示,請使用以下 OpenThread CLI 指令:
Prompt | CLI 指令 |
---|---|
詳細地址 | extaddr |
IPv6 位址 | ipaddr |
加入會議的 MAC 位址 | eui64 |
設定佣金佈建帳戶網址 | commissioner provisioningurl www.threadgroup.org |
恢復原廠設定 | factoryreset |
取得所有 TLV | dataset mgmtgetcommand active address ipv6-address |
獲取網絡 ChannelMask (0x35)、 MeshLocal ULA 字首 (0x07)、Network Name (0x03) | dataset mgmtgetcommand active address ipv6-address binary 350703 |
獲取網絡通道 (0x00)、 MeshLocal ULA 前綴 (0x07)、網絡名稱 (0x03)、掃描持續時間 (0x38)、能量列表 (0x39) | dataset mgmtgetcommand active address ipv6-address binary 0007033839 |
如需所有 CLI 指令的清單,請參閱 OpenThread CLI 參考資料。
認證提示
啟用混合測試床的裝置選項
在 Thread 認證測試期間,系統會使用包含 ARM、NXP、Silicon Labs 和 OpenThread 的參考堆疊的混合式測試床。您可以在 C:\GRL\Thread1.1\Thread_Harness\TestScripts\TopologyConfig.txt
檔案中定義測試床拓撲。
如要啟用裝置選取功能,以執行與 Thread Group's ATL 完全相同的參照平台的測試案例,請將 C:\GRL\Thread1.1\Config\Configuration.ini
檔案中的 EnableDeviceSelection
參數設為 True
。
EnableDeviceSelection = True
射頻防護
如為 9.2.9 (Leader、路由器) 和 9.2.10 (Router, ED1, SED1) 的測試案例,則必須特別注意,確保正確的裝置受到 RF 保護。假設所有裝置都是在角色中進行設定,因此每項測試都需要:
- 僅使用連接至 Windows 機器的 NXP Sniffer 來啟動測試。這樣可以避免裝置測試功能自動找出裝置。
- 逐一插入測試裝置,並記下對應的序列埠。
- 將下列其中一種裝置放入 RF 盾牌方塊中:
- 測試 9.2.9:
- 負責人和顧問
- Router1、路由器 2 和 Sniffer
- 測試 9.2.10:
- 負責人和顧問
- 路由器、ED、SED 和 Sniffer
- 測試 9.2.9:
- 在「測試測試工具」的「Configure Test Bed」頁面上,根據測試案例,在「Test Bed」區段中,按下列方式將每部裝置設定為下列排序順序:
射頻防護測試案例的最終裝置排序順序 9.2.9 1. 路由器 2
2. 佣金
3. 路由器 1
4. 領先者9.2.10 1. SED
2. ED 3
路由器 1
4. 佣金
5. 領先者- 清除任何現有裝置的「測試床」部分。
- 將特定測試案例拓撲適用的裝置從左側的 [Support Hardware] 部分拖曳到右側的 [Test Bed] 區段。請務必將這些結果拖曳至最終排序順序的反向順序。舉例來說,如果是測試案例 9.2.9,請先拖曳領導者,再拖曳路由器 1,依此類推。如果拖曳錯誤的裝置,請清除「Test Bed」部分中的裝置,然後重新開始。
- 在「Test Bed」(測試床) 區段,以最終排序順序為每個裝置填入序號或 IP 資訊。舉例來說,在測試案例 9.2.9 中,拖曳後的第一個裝置是 Router2,第二個裝置是佣金,依此類推。
- 選取「支援硬體」清單下方的 [啟用自動 DUT 裝置選取功能] 核取方塊。
- 選取 DUT 的 [Set as DUT] (設為 DUT) 圓形按鈕。
- 選取 [全部連結] 即可開始探索裝置。
- 執行測試案例(9.2.9 或 9.2.10)。按照 Test Harness 的指示,在每一組裝置上鎖定並解除保護。