Tutorial: Erstellen und Ausführen der IDT-Beispieltestsuite - AWS IoT Greengrass

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Tutorial: Erstellen und Ausführen der IDT-Beispieltestsuite

Der AWS IoT Device Tester Download enthält den Quellcode für eine Beispiel-Testsuite. Sie können dieses Tutorial abschließen, um die Beispiel-Testsuite zu erstellen und auszuführen, um zu verstehen, wie Sie IDT für verwenden könnenAWS IoT Greengrass, um benutzerdefinierte Testsuiten auszuführen.

In diesem Tutorial führen Sie die folgenden Schritte aus:

  1. Erstellen der Beispiel-Testsuite

  2. Verwenden Sie IDT, um die Beispiel-Testsuite auszuführen

Voraussetzungen

Zum Durcharbeiten dieses Tutorials ist Folgendes erforderlich:

  • Hostcomputer-Anforderungen
    • Neueste Version von AWS IoT Device Tester

    • Python 3.7 oder höher

      Führen Sie den folgenden Befehl aus, um die Version von Python zu überprüfen, die auf Ihrem Computer installiert ist:

      python3 --version

      Wenn unter Windows mit diesem Befehl ein Fehler zurückgegeben wird, verwenden Sie python --version stattdessen . Wenn die zurückgegebene Versionsnummer 3.7 oder höher ist, führen Sie den folgenden Befehl in einem Powershell-Terminal aus, um python3 als Alias für Ihren python Befehl festzulegen.

      Set-Alias -Name "python3" -Value "python"

      Wenn keine Versionsinformationen zurückgegeben werden oder die Versionsnummer kleiner als 3.7 ist, folgen Sie den Anweisungen unter Python herunterladen, um Python 3.7+ zu installieren. Weitere Informationen finden Sie in der Python-Dokumentation.

    • urllib3

      Führen Sie den folgenden Befehl aus, um zu überprüfen, ob korrekt installiert urllib3 ist:

      python3 -c 'import urllib3'

      Wenn nicht installiert urllib3 ist, führen Sie den folgenden Befehl aus, um es zu installieren:

      python3 -m pip install urllib3
  • Anforderungen an Speichergeräte
    • Ein Gerät mit einem Linux-Betriebssystem und einer Netzwerkverbindung zu demselben Netzwerk wie Ihr Hostcomputer.

      Wir empfehlen Ihnen, einen Raspberry Pi mit Raspberry Pi OS zu verwenden. Stellen Sie sicher, dass Sie SSH auf Ihrem Raspberry Pi einrichten, um eine Remote-Verbindung herzustellen.

Konfigurieren von Geräteinformationen für IDT

Konfigurieren Sie Ihre Geräteinformationen für IDT, um den Test auszuführen. Sie müssen die device.json Vorlage im <device-tester-extract-location>/configs Ordner mit den folgenden Informationen aktualisieren.

[ { "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>" } } } } ] } ]

Geben Sie im -devicesObjekt die folgenden Informationen an:

id

Eine benutzerdefinierte eindeutige Kennung für Ihr Gerät.

connectivity.ip

Die IP-Adresse Ihres Geräts.

connectivity.port

Optional. Die Portnummer, die für SSH-Verbindungen zu Ihrem Gerät verwendet werden soll.

connectivity.auth

Authentifizierungsinformationen für die Verbindung.

Diese Eigenschaft gilt nur, wenn connectivity.protocol auf ssh festgelegt ist.

connectivity.auth.method

Die Authentifizierungsmethode, die für den Zugriff über ein bestimmtes Verbindungsprotokoll auf ein Gerät verwendet wird.

Unterstützte Werte sind:

  • pki

  • password

connectivity.auth.credentials

Die für die Authentifizierung verwendeten Anmeldeinformationen.

connectivity.auth.credentials.user

Der Benutzername, der für die Anmeldung bei Ihrem Gerät verwendet wird.

connectivity.auth.credentials.privKeyPath

Der vollständige Pfad zu dem privaten Schlüssel, der für die Anmeldung bei Ihrem Gerät verwendet wurde.

Dieser Wert gilt nur, wenn connectivity.auth.method auf pki festgelegt ist.

devices.connectivity.auth.credentials.password

Das Passwort für die Anmeldung bei Ihrem Gerät.

Dieser Wert gilt nur, wenn connectivity.auth.method auf password festgelegt ist.

Anmerkung

Geben Sie privKeyPath nur an, wenn method auf pki gesetzt ist.

Geben Sie password nur an, wenn method auf password gesetzt ist.

Erstellen der Beispiel-Testsuite

Der <device-tester-extract-location>/samples/python Ordner enthält Beispielkonfigurationsdateien, Quellcode und das IDT-Client-SDK, das Sie mithilfe der bereitgestellten Build-Skripts in eine Testsuite kombinieren können. Die folgende Verzeichnisstruktur zeigt den Speicherort dieser Beispieldateien:

<device-tester-extract-location> ├── ... ├── tests ├── samples │ ├── ... │ └── python │ ├── configuration │ ├── src │ └── build-scripts │ ├── build.sh │ └── build.ps1 └── sdks ├── ... └── python └── idt_client

Um die Testsuite zu erstellen, führen Sie die folgenden Befehle auf Ihrem Host-Computer aus:

Windows
cd <device-tester-extract-location>/samples/python/build-scripts ./build.ps1
Linux, macOS, or UNIX
cd <device-tester-extract-location>/samples/python/build-scripts ./build.sh

Dadurch wird die Beispiel-Testsuite im IDTSampleSuitePython_1.0.0 Ordner im <device-tester-extract-location>/tests Ordner erstellt. Sehen Sie sich die Dateien im IDTSampleSuitePython_1.0.0 Ordner an, um zu verstehen, wie die Beispiel-Testsuite strukturiert ist, und um verschiedene Beispiele für ausführbare Testfälle und JSON-Dateien für die Testkonfiguration zu sehen.

Anmerkung

Die Beispiel-Testsuite enthält Python-Quellcode. Fügen Sie keine sensiblen Informationen in Ihren Testsuite-Code ein.

Nächster Schritt: Verwenden Sie IDT, um die von Ihnen erstellte Beispiel-Testsuite auszuführen.

Verwenden Sie IDT, um die Beispiel-Testsuite auszuführen

Um die Beispiel-Testsuite auszuführen, führen Sie die folgenden Befehle auf Ihrem Host-Computer aus:

cd <device-tester-extract-location>/bin ./devicetester_[linux | mac | win_x86-64] run-suite --suite-id IDTSampleSuitePython

IDT führt die Beispiel-Testsuite aus und streamt die Ergebnisse an die Konsole. Wenn die Ausführung des Tests abgeschlossen ist, sehen Sie die folgenden Informationen:

========== 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

Fehlerbehebung

Verwenden Sie die folgenden Informationen, um Probleme beim Abschließen des Tutorials zu beheben.

Testfall wird nicht erfolgreich ausgeführt

Wenn der Test nicht erfolgreich ausgeführt wird, streamt IDT die Fehlerprotokolle an die Konsole, die Ihnen bei der Fehlerbehebung des Testlaufs helfen kann. Stellen Sie sicher, dass Sie alle Voraussetzungen für dieses Tutorial erfüllen.

Es kann keine Verbindung zum getesteten Gerät hergestellt werden

Überprüfen Sie Folgendes:

  • Ihre -device.jsonDatei enthält die richtigen IP-Adresse, Port und Authentifizierungsinformationen.

  • Sie können von Ihrem Host-Computer aus eine Verbindung zu Ihrem Gerät über SSH herstellen.