翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
チュートリアル: サンプル IDT テストスイートを構築して実行する
AWS IoT Device Tester ダウンロードには、サンプルテストスイートのソースコードが含まれています。このチュートリアルを完了すると、サンプルテストスイートを構築して実行し、IDT for を使用してカスタムテストスイート AWS IoT Greengrass を実行する方法を理解できます。
このチュートリアルでは、次の手順を実行します。
前提条件
このチュートリアルを完了するには、以下が必要です。
-
ホストコンピュータの要件
-
の最新バージョン AWS IoT Device Tester
-
Python
3.7 以降 コンピュータにインストールされている Python のバージョンを確認するには、次のコマンドを実行します。
python3 --versionWindows で、このコマンドを使用してエラーが返された場合は、代わりに
python --versionを使用してください。返されたバージョン番号が 3.7 以上の場合は、Powershell ターミナルで次のコマンドを実行し、python3をpythonコマンドのエイリアスとして設定します。Set-Alias -Name "python3" -Value "python"バージョン情報が返されない場合や、バージョン番号が 3.7 未満 の場合は、Python のダウンロード
の手順に従って Python 3.7 以上をインストールしてください。詳細については、Python のドキュメント を参照してください。 -
urllib3が正しくインストールされていることを確認するには、次のコマンドを実行します。python3 -c 'import urllib3'urllib3がインストールされていない場合は、次のコマンドを実行してインストールします。python3 -m pip install urllib3
-
-
デバイスの要件
-
Linux オペレーティングシステムが搭載され、ホストコンピュータと同じネットワークにネットワーク接続するデバイス。
Raspberry Pi OS が搭載された Raspberry Pi
を使用することをお勧めします。Raspberry Pi に SSH をセットアップし、リモートから接続できることを確認します。
-
IDT 用のデバイス情報を設定する
IDT がテストを実行するためのデバイス情報を設定します。次の情報を使用して、 フォルダに含まれている <device-tester-extract-location>/configsdevice.json テンプレートを更新する必要があります。
[ { "id": "pool", "sku": "N/A", "devices": [ { "id": "<device-id>", "connectivity": { "protocol": "ssh", "ip": "<ip-address>", "port": "<port>", "auth": { "method": "pki | password", "credentials": { "user": "<user-name>", "privKeyPath": "/path/to/private/key", "password": "<password>" } } } } ] } ]
devices オブジェクトで、次の情報を指定します。
id-
自分のデバイスのユーザー定義の一意の識別子。
connectivity.ip-
自分のデバイスの IP アドレス。
connectivity.port-
オプション。デバイスへの SSH 接続に使用するポート番号。
connectivity.auth-
接続の認証情報。
このプロパティは、
connectivity.protocolがsshに設定されている場合にのみ適用されます。connectivity.auth.method-
指定された接続プロトコルを介してデバイスにアクセスするために使用される認証方法。
サポートされている値は以下のとおりです。
-
pki -
password
-
connectivity.auth.credentials-
認証に使用される認証情報。
connectivity.auth.credentials.user-
デバイスへのサインインに使用するユーザー名。
connectivity.auth.credentials.privKeyPath-
デバイスへのサインインに使用するプライベートキーへの完全パス。
この値は、
connectivity.auth.methodがpkiに設定されている場合にのみ適用されます。 devices.connectivity.auth.credentials.password-
自分のデバイスにサインインするためのパスワード。
この値は、
connectivity.auth.methodがpasswordに設定されている場合にのみ適用されます。
注記
method が pki に設定されている場合のみ privKeyPath を指定します。
method が password に設定されている場合のみ password を指定します。
サンプルテストスイートを構築する
フォルダには、サンプル設定ファイル、ソースコード、および提供されたビルドスクリプトを使用してテストスイートに結合できる IDT クライアント SDK が含まれています。次のディレクトリツリーは、これらのサンプルファイルの場所を示しています。<device-tester-extract-location>/samples/python
<device-tester-extract-location>├── ... ├── tests ├── samples │ ├── ... │ └── python │ ├── configuration │ ├── src │ └── build-scripts │ ├── build.sh │ └── build.ps1 └── sdks ├── ... └── python └── idt_client
テストスイートを構築するには、ホストコンピュータで次のコマンドを実行します。
これにより、 フォルダ内の <device-tester-extract-location>/testsIDTSampleSuitePython_1.0.0 フォルダにサンプルテストスイートが作成されます。IDTSampleSuitePython_1.0.0 フォルダのファイルを確認して、サンプルテストスイートの構造を理解し、テストケースの実行可能ファイルとテスト設定 JSON ファイルのさまざまな例を参照してください。
注記
サンプルテストスイートには python ソースコードが含まれます。テストスイートのコードには機密情報を入力しないでください。
次のステップ: IDT を使用して、作成したサンプルテストスイートを実行します。
IDT を使用してサンプルテストスイートを実行する
サンプルテストスイートを実行するには、ホストコンピュータで次のコマンドを実行します。
cd<device-tester-extract-location>/bin ./devicetester_[linux | mac | win_x86-64]run-suite --suite-id IDTSampleSuitePython
IDT はサンプルテストスイートを実行し、結果をコンソールにストリーミングします。テストの実行が完了すると、次の情報が表示されます。
========== Test Summary ========== Execution Time: 5s Tests Completed: 4 Tests Passed: 4 Tests Failed: 0 Tests Skipped: 0 ---------------------------------- Test Groups: sample_group: PASSED ---------------------------------- Path to IoT Device Tester Report: /path/to/devicetester/results/87e673c6-1226-11eb-9269-8c8590419f30/awsiotdevicetester_report.xml Path to Test Execution Logs: /path/to/devicetester/results/87e673c6-1226-11eb-9269-8c8590419f30/logs Path to Aggregated JUnit Report: /path/to/devicetester/results/87e673c6-1226-11eb-9269-8c8590419f30/IDTSampleSuitePython_Report.xml
トラブルシューティング
次の情報は、チュートリアルの実行に関連する問題の解決に役立ちます。
テストケースが正常に実行されない
テストが正常に実行されない場合、IDT はエラーログをコンソールにストリーミングします。このログはテスト実行のトラブルシューティングに役立ちます。このチュートリアルのすべての前提条件を満たしていることを確認してください。
テスト対象のデバイスに接続できない
以下について確認します。
-
device.jsonファイルに、正しい IP アドレス、ポート、および認証情報が含まれている。 -
ホストコンピュータから SSH 経由でデバイスに接続できる。