テストケースを実行する前に、GRL Test Harness とハーネスの自動化ツールがインストールされているため、すべてのテストデバイス(Golden と DUT)が Windows マシンに接続されていることを確認してください。
ハーネス オートメーション ツールの使用
すべてのテストケースは、tools/harness-automation
ディレクトリから実行されます。次の 2 つの方法があります。
start.sh
- Windows 用 Git にバンドルされている Bash を使用するstart.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 テストハーネスの使用
テストベッドの構成後、DUT の選択した役割に基づいて、複数のテストケースを一括で実行します。[Test Selection] には、[Test Plan] で選択したロールで使用可能なすべてのテストケースが一覧表示されます。

必要に応じてテストケースを選択し、緑色の再生ボタンをクリックして実行します。
手動テスト オペレーション
一部のテストケースでは、テストハーネスがユーザーに手動入力を求めるプロンプトを表示します。
ネットワークの認証情報
テストプランのセクション 5、6、7、9 でのテストケースでは、ネットワーク認証情報を帯域外で構成する必要があります。例:
デバイス起動時のパラメータ設定:
panid 0xface Done
channel 20 Done
networkname GRL Done
extpanid 000db80000000000 Done
インターフェースを表示する前の「DUT をリーダー」に設定。
dataset activetimestamp 1 Done
dataset commit active Done
「DUT をエンドデバイスとして」設定:
mode rsn
Done
「DUT as SED」構成。テストハーネスでは、pollperiod
(ミリ秒単位)がデフォルトの SedPollingRate
に設定されます。
mode s Done
pollperiod 5000 Done
Thread インターフェースとスタックを表示します。
ifconfig up Done
thread start Done
コミッタ ロールの設定
テストプランのセクション 8 のテストケースについては、コミッショナーの役割を構成します。
スレッド スタックを起動してから、コミッタを起動します。
commissioner start
Done
ステアリングデータを追加:
commissioner joiner add eui64 THREADJPAKETEST 200
eui64
は、工場出荷時に割り当てられた IEEE EUI-64 識別子で、eui64
CLI コマンドで取得されます。THREADJPAKETEST
は、デバイスの事前共有キー(PSKd)を生成するために使用する参加認証情報です。Joiner は、構成されたタイムアウト後にステアリング データから削除されます。
8.2.x コミッターのテストケースでは、タイムアウト値として 500
を使用することをおすすめします。
スレッド インターフェースを表示したら、Joiner のロールを開始します。その際、Joiner 認証情報のデフォルト(THREADJPAKETEST
)を使用します。
joiner start THREADJPAKETEST
Thread インターフェースを起動した後、指定のプロビジョニング URL を使って Joiner のロールを開始します。
joiner start THREADJPAKETEST www.threadgroup.org
その他の入力値
テストハーネスは、他の手動操作を求め、その操作で使用する値(IPv6 アドレスなど)を提供することがあります。プロンプトが表示されたら、次の OpenThread CLI コマンドを使用します。
プロンプト | CLI コマンド |
---|---|
住所の拡張 | extaddr |
IPv6 アドレス | ipaddr |
加入者の出荷時 MAC アドレス | eui64 |
コミッショナーのプロビジョニング URL を設定する | commissioner provisioningurl www.threadgroup.org |
出荷時設定へのリセット | factoryreset |
TL の取得 | dataset mgmtgetcommand active address ipv6-address |
ネットワーク チャンネル マスク(0x35)、メッシュ ローカル ULA プレフィックス(0x07)、ネットワーク名(0x03)を取得 | dataset mgmtgetcommand active address ipv6-address binary 350703 |
ネットワーク チャンネル(0x00)、メッシュ ローカル ULA プレフィックス(0x07)、ネットワーク名(0x03)、スキャン時間(0x38)、エネルギー リスト(0x39)を取得 | dataset mgmtgetcommand active address ipv6-address binary 0007033839 |
すべての CLI コマンドの一覧については、OpenThread CLI リファレンスをご覧ください。
認定資格に関するヒント
ミックステスト ベッドのデバイス選択を有効にする
スレッド認証テストでは、ARM、NXP、Silicon Labs、OpenThread の参照スタックを含む混合テストベッドが使用されます。テストベッド トポロジは、C:\GRL\Thread1.1\Thread_Harness\TestScripts\TopologyConfig.txt
ファイルで定義されています。
スレッドグループの ATL とまったく同じ参照プラットフォームでテストケースを実行するためにデバイスの選択を有効にするには、C:\GRL\Thread1.1\Config\Configuration.ini
ファイルの EnableDeviceSelection
パラメータを True
。
EnableDeviceSelection = True
RF シールド
テストケース 9.2.9(リーダー、ルーター)と 9.2.10(ルーター、ED1、SED1)の場合、適切なデバイスが RF シールドされていることを確認するために特別な注意が必要です。各テストで必要なロールは、すべてのデバイスが構成されていることを前提にしています。
- Windows マシンに接続された NXP スニファーのみを使用して、テストハーネスを起動します。これにより、テストハーネスによるデバイスの自動検出を回避できます。
- テストデバイスを 1 つずつ接続し、対応するシリアルポートをメモします。
- RF シールド ボックスに次のいずれかのデバイス グループを配置します。
- テスト 9.2.9 の場合:
- リーダーおよびコミッショナー
- Router1、Router2、Sniffer
- テスト 9.2.10 の場合:
- リーダーおよびコミッショナー
- Router、ED、SED、Sniffer
- テスト 9.2.9 の場合:
- テストハーネスの [Test Bed] ページで、テストケースに応じて、[Test Bed] セクションで各デバイスを次の並べ替え順序で構成します。 :
RF シールド テストケースの最終的なデバイスの並べ替え順序 9.2.9 1. Router2
2. コミッショナー
3. ルーター 1
4. リーダー2020 年 9 月 2 日 1. SED
2. ED
3. ルーター 1
4. コミッショナー
5. リーダー- 既存のデバイスの [Test Bed] セクションをクリアします。
- 特定のテストケース トポロジに適したデバイスを、左側の [Supported Hardware] セクションから右側の [Test Bed] セクションにドラッグします。必ず最終的な並べ替え順序の逆順にドラッグしてください。たとえば、テストケース 9.2.9 では、最初にリーダーをドラッグします。次に Router1 をドラッグします。間違ったデバイスをドラッグした場合は、[Test Bed] セクションでデバイスを消去して、最初からやり直してください。
- [Test Bed] セクションで、各デバイスのシリアル番号または IP 情報を最終的な並べ替え順に入力します。たとえば、テストケース 9.2.9 の場合、ドラッグ後、最初のデバイスは Router2、2 台はコミッショナーというように続きます。
- [Supported Hardware] リストの下にある [Enable Auto DUT Device Selection] チェックボックスをオンにします。
- DUT の [Set as DUT] ラジオボタンをオンにします。
- [すべて接続] を選択して、デバイスの検出を開始します。
- テストケース(9.2.9 または 9.2.10)を実行します。テストハーネスのプロンプトに従って、デバイスの各グループをシールドしてシールドを解除します。