Debuggen und Ausführen benutzerdefinierter Testsuiten - 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.

Debuggen und Ausführen benutzerdefinierter Testsuiten

Nachdem die erforderliche Konfiguration festgelegt wurde, kann IDT Ihre Testsuite ausführen. Die Laufzeit der vollständigen Testsuite hängt von der Hardware und der Zusammensetzung der Testsuite ab. Als Referenz dauert es etwa 30 Minuten, bis die vollständige AWS IoT Greengrass Qualifikationstestsuite auf einem Raspberry Pi 3B abgeschlossen ist.

Während 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 für Test Runner bereitstellen.

IDT im Debug-Modus ausführen

Da Testsuiten von IDT abhängen, um mit Geräten zu interagieren, den Kontext bereitzustellen und Ergebnisse zu erhalten, können Sie Ihre Testsuiten nicht einfach ohne IDT-Interaktion in einer IDE debuggen. Dazu stellt die IDT-CLI den debug-test-suite Befehl bereit, mit dem Sie IDT im Debug-Modus ausführen können. Führen Sie den folgenden Befehl aus, um die verfügbaren Optionen für 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 oder führt den Testorchestrator aus. Stattdessen interagiert es mit Ihrer IDE, um auf Anfragen zu antworten, die von der Testsuite gestellt werden, die in der IDE ausgeführt wird, und druckt die Protokolle in der Konsole. IDT führt keine Zeitüberschreitung durch und wartet auf das Beenden, bis es manuell unterbrochen wird. Im Debug-Modus führt IDT auch den Testorchestrator 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 aus test.json oder suite.json.

  • Argumente zur Auswahl von Ressourcengeräten. IDT liest diese Informationen nicht aus test.json.

Führen Sie die folgenden Schritte aus, um Ihre Testsuiten zu debuggen:

  1. Erstellen Sie die Einstellungskonfigurationsdateien, die zum Ausführen der Testsuite erforderlich sind. Wenn Ihre Testsuite beispielsweise die device.json, und erfordertuser data.json, stellen Sie sicherresource.json, dass Sie alle nach Bedarf konfigurieren.

  2. Führen Sie den folgenden Befehl aus, um IDT in den Debug-Modus zu versetzen, und wählen Sie alle Geräte aus, 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 die - run oder -debugKonfiguration, um Folgendes zu tun:

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

    2. Legen Sie den Wert aller Umgebungsvariablen oder Argumente fest, die Sie in Ihrer - test.json und -suite.jsonDatei angegeben haben.

    3. Legen Sie nach Bedarf Breakpoints 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 Debug-Modus keine Zeitüberschreitung durch.

  5. Nachdem Sie das Debuggen abgeschlossen haben, unterbrechen Sie IDT, um den Debugging-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 die unterstützten Produkte für Ihre Version von IDT, in diesem Fall AWS IoT Greengrass Versionen und Versionen der AWS IoT Greengrass Qualifizierungstestsuite auf, die für die aktuelle IDT-Version verfügbar sind.

list-test-cases

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

  • group-id. 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 sind einige häufig verwendete Optionen aufgeführt:

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

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

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

  • pool-id. Der zu testende Gerätepool. Test Runner müssen einen Pool angeben, wenn sie mehrere Gerätepools in Ihrer device.json Datei definiert haben.

  • timeout-multiplier. Konfiguriert IDT, um das in der -test.jsonDatei angegebene Timeout für die Testausführung mit einem benutzerdefinierten Multiplikator zu ändern.

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

  • userdata. Legt die Datei fest, die Benutzerdaten enthält, die zum Ausführen der Testsuite erforderlich sind. Dies ist nur erforderlich, wenn in der -suite.jsonDatei für die Testsuite auf „true“ gesetzt userdataRequired ist.

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 Debug-Modus aus. Weitere Informationen finden Sie unter IDT im Debug-Modus ausführen.