Debuggen und Ausführen von benutzerdefinierten Test-Suiten - AWS IoT Greengrass

AWS IoT Greengrass Version 1 trat am 30. Juni 2023 in die erweiterte Lebensphase ein. Weitere Informationen finden Sie in der AWS IoT Greengrass V1 Wartungsrichtlinie. Nach diesem Datum AWS IoT Greengrass V1 werden keine Updates mehr veröffentlicht, die Funktionen, Verbesserungen, Bugfixes oder Sicherheitspatches bieten. Geräte, die auf laufen, werden AWS IoT Greengrass V1 nicht gestört und funktionieren weiterhin und stellen eine Verbindung zur Cloud her. Wir empfehlen Ihnen dringend, zu migrieren AWS IoT Greengrass Version 2, da dies wichtige neue Funktionen und Unterstützung für zusätzliche Plattformen bietet.

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.

Debuggen und Ausführen von benutzerdefinierten Test-Suiten

Nach demErforderliche Konfigurationeingestellt ist, kann IDT Ihre Testsuite ausführen. Die Laufzeit der vollständigen Testsuite hängt von der Hardware und der Zusammensetzung der Testsuite ab. Zur Referenz: Es dauert etwa 30 Minuten, die vollständige Ausführung auszuführenAWS IoT GreengrassQualifikationstestsuite auf einem Raspberry Pi 3B

Wenn Sie Ihre Testsuite schreiben, können Sie IDT verwenden, um die Testsuite im Debug-Modus auszuführen, um Ihren Code zu überprüfen, bevor Sie ihn ausführen, oder ihn Testläufer bereitstellen.

Führen Sie IDT im Debug-Modus aus

Da Test-Suiten von IDT abhängig sind, um mit Geräten zu interagieren, den Kontext bereitzustellen und Ergebnisse zu erhalten, können Sie Ihre Testsuiten nicht einfach in einer IDE ohne IDT-Interaktion debuggen. Zur Verfügung stellt die IDT CLIdebug-test-suite-Befehl, mit dem Sie IDT im Debug-Modus ausführen können. Führen Sie den folgenden Befehl aus, um die verfügbaren Optionen anzuzeigendebug-test-suite:

devicetester_[linux | mac | win_x86-64] debug-test-suite -h

Wenn Sie IDT im Debug-Modus ausführen, startet IDT die Testsuite nicht wirklich oder führt den State Machine aus. Stattdessen interagiert es mit Ihrer IDE, um auf Anfragen der Testsuite zu reagieren, die in der IDE ausgeführt wird, und druckt die Protokolle an die Konsole. IDT hat keine Zeitüberschreitung und wartet auf die Beendigung, bis sie manuell unterbrochen wird. Im Debug-Modus führt IDT den Statuscomputer auch nicht aus und generiert keine Berichtsdateien. Um Ihre Testsuite zu debuggen, müssen Sie Ihre IDE verwenden, um einige Informationen bereitzustellen, die IDT normalerweise aus den JSON-Konfigurationsdateien erhält. Stellen Sie sicher, dass Sie die folgenden Informationen angeben:

  • Umgebungsvariablen und Argumente für jeden Test. IDT liest diese Informationen nicht austest.jsonodersuite.jsonaus.

  • Argumente zur Auswahl von Ressourcengeräten. IDT liest diese Informationen nicht austest.jsonaus.

Führen Sie die folgenden Schritte aus, um Ihre Test-Suites zu debuggen:

  1. Erstellen Sie die Einstellungskonfigurationsdateien, die zum Ausführen der Testsuite erforderlich sind. Wenn Ihre Testsuite beispielsweise diedevice.json,resource.json, unduser data.json, stellen Sie sicher, dass Sie alle nach Bedarf konfigurieren.

  2. Führen Sie den folgenden Befehl aus, um IDT in den Debug-Modus zu versetzen und alle Geräte auszuwählen, die zum Ausführen des Tests erforderlich sind.

    devicetester_[linux | mac | win_x86-64] debug-test-suite [options]

    Nachdem Sie diesen Befehl ausgeführt haben, wartet IDT auf Anfragen aus der Testsuite und antwortet dann darauf. IDT generiert auch die Umgebungsvariablen, die für den Fallprozess für das IDT Client SDK erforderlich sind.

  3. Verwenden Sie in Ihrer IDE dasrunoderdebugKonfiguration für das Ausführen der folgenden Aktionen:

    1. Legen Sie die Werte der IDT-generierten Umgebungsvariablen fest.

    2. Legen Sie den Wert aller Umgebungsvariablen oder Argumente fest, die Sie in Ihremtest.jsonundsuite.jsonfile.

    3. Legen Sie Haltepunkte nach Bedarf fest.

  4. Führen Sie die Testsuite in Ihrer IDE aus.

    Sie können die Testsuite so oft wie nötig debuggen und erneut ausführen. IDT führt im Debugging-Modus nicht aus.

  5. Unterbrechen Sie nach dem Debuggen IDT, um den Debug-Modus zu beenden.

IDT CLI-Befehle zum Ausführen von Tests

Im folgenden Abschnitt werden die IDT -CLI-Befehle beschrieben:

IDT v4.0.0
help

Listet Informationen über den angegebenen Befehl auf.

list-groups

Listet die Gruppen in der jeweiligen Testsuite auf.

list-suites

Listet die verfügbaren Testsuites auf.

list-supported-products

Listet in diesem Fall die unterstützten Produkte für Ihre IDT-Version aufAWS IoT GreengrassVersionen undAWS IoT GreengrassVersionen der Qualifikationstestsuite sind für die aktuelle IDT-Version verfügbar.

list-test-cases

Listet die Testfälle in einer bestimmten Testgruppe auf. Die folgende Option wird unterstützt:

  • group-idaus. Die Testgruppe, nach der gesucht werden soll. Diese Option ist erforderlich und muss eine einzelne Gruppe angeben.

run-suite

Führt eine Reihe von Tests in einem Pool von Geräten aus. Im Folgenden finden Sie einige häufig verwendete Optionen:

  • suite-idaus. Die auszuführende Testsuite-Version. Wenn nicht angegeben, verwendet IDT die neueste Version im tests-Ordner.

  • group-idaus. Die auszuführenden Testgruppen als kommagetrennte Liste. Bei fehlender Angabe führt IDT alle Testgruppen in der Testsuite aus.

  • test-idaus. Die auszuführenden Testfälle als kommagetrennte Liste. Wenn angegeben, muss group-id eine einzelne Gruppe angeben.

  • pool-idaus. Der zu testende Gerätepool. Testläufer müssen einen Pool angeben, wenn mehrere Gerätepools in Ihremdevice.jsonfile.

  • timeout-multiplieraus. Konfiguriert IDT, um das Timeout für die Testausführung zu ändern, das in dertest.json-Datei für einen Test mit einem benutzerdefinierten Multiplikator.

  • stop-on-first-failureaus. Konfiguriert IDT so, dass die Ausführung beim ersten Fehler beendet wird. Diese Option sollte mit group-id verwendet werden, um die angegebenen Testgruppen zu debuggen.

  • userdataaus. Legt die Datei fest, die Benutzerdateninformationen enthält, die zum Ausführen der Testsuite erforderlich sind. Dies ist nur erforderlich, wennuserdataRequiredist in dersuite.jsonDatei für die Testsuite

Weitere Informationen zu run-suite-Optionen erhalten Sie mit der help-Option:

devicetester_[linux | mac | win_x86-64] run-suite -h
debug-test-suite

Führen Sie die Testsuite im Debugging-Modus aus. Weitere Informationen finden Sie unter Führen Sie IDT im Debug-Modus aus.