Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Tutorial: Führen Sie end-to-end Tests mit dem Greengrass Testing Framework und dem Greengrass Development Kit durch

Fokusmodus
Tutorial: Führen Sie end-to-end Tests mit dem Greengrass Testing Framework und dem Greengrass Development Kit durch - 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.

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.

AWS IoT Greengrass Testing Framework (GTF) und Greengrass Development Kit (GDK) bieten Entwicklern Möglichkeiten, Tests durchzuführen. end-to-end Sie können dieses Tutorial abschließen, um ein GDK-Projekt mit einer Komponente zu initialisieren, ein GDK-Projekt mit einem end-to-end Testmodul zu initialisieren und einen benutzerdefinierten Testfall zu erstellen. Nachdem Sie Ihren benutzerdefinierten Testfall erstellt haben, können Sie den Test ausführen.

In diesem Tutorial führen Sie folgende Aufgaben aus:

  1. Initialisieren Sie ein GDK-Projekt mit einer Komponente.

  2. Initialisieren Sie ein GDK-Projekt mit einem Testmodul. end-to-end

  3. Erstellen Sie einen benutzerdefinierten Testfall.

  4. Fügen Sie dem neuen Testfall ein Tag hinzu.

  5. Erstellen Sie das Test-JAR.

  6. Führen Sie den Test aus.

Voraussetzungen

Zum Durcharbeiten dieses Tutorials ist Folgendes erforderlich:

  • GDK Version 1.3.0 oder höher

  • Java

  • Maven

  • Git

Schritt 1: Initialisieren Sie ein GDK-Projekt mit einer Komponente

  • Initialisieren Sie einen leeren Ordner mit einem GDK-Projekt. Laden Sie die in Python implementierte HelloWorld Komponente herunter, indem Sie den folgenden Befehl ausführen.

    gdk component init -t HelloWorld -l python -n HelloWorld

    Dieser Befehl erstellt ein neues Verzeichnis mit dem Namen HelloWorld im aktuellen Verzeichnis.

Schritt 2: Initialisieren Sie ein GDK-Projekt mit einem Testmodul end-to-end

  • Mit GDK können Sie die Vorlage für das Testmodul herunterladen, die aus einer Funktion und einer schrittweisen Implementierung besteht. Führen Sie den folgenden Befehl aus, um das HelloWorld Verzeichnis zu öffnen und das vorhandene GDK-Projekt mithilfe eines Testmoduls zu initialisieren.

    cd HelloWorld gdk test-e2e init

    Dieser Befehl erstellt ein neues Verzeichnis mit dem Namen gg-e2e-tests innerhalb des HelloWorld Verzeichnisses. Dieses Testverzeichnis ist ein Maven-Projekt, das von der eigenständigen Greengrass-Testing-JAR abhängig ist.

Schritt 3: Erstellen Sie einen benutzerdefinierten Testfall

Das Schreiben eines benutzerdefinierten Testfalls besteht im Großen und Ganzen aus zwei Schritten: Erstellen Sie eine Feature-Datei mit einem Testszenario und implementieren Sie die Schrittdefinitionen. Ein Beispiel für die Erstellung eines benutzerdefinierten Testfalls finden Sie unterBeispiel: Erstellen Sie einen benutzerdefinierten Testfall. Gehen Sie wie folgt vor, um Ihren benutzerdefinierten Testfall zu erstellen:

  1. Erstellen Sie eine Feature-Datei mit einem Testszenario

    Ein Feature beschreibt in der Regel eine bestimmte Funktionalität der Software, die getestet wird. In Cucumber wird jedes Feature als einzelne Feature-Datei mit einem Titel, einer detaillierten Beschreibung und einem oder mehreren Beispielen für bestimmte Fälle, die als Szenarien bezeichnet werden, spezifiziert. Jedes Szenario besteht aus einem Titel, einer detaillierten Beschreibung und einer Reihe von Schritten, die die Interaktionen und erwarteten Ergebnisse definieren. Szenarien werden in einem strukturierten Format mit den Schlüsselwörtern „gegeben“, „wann“ und „dann“ geschrieben.

  2. Implementieren Sie Schrittdefinitionen

    Eine Schrittdefinition verknüpft den Gherkin-Schritt im Klartext mit dem Programmcode. Wenn Cucumber in einem Szenario einen Gherkin-Schritt identifiziert, sucht es nach einer passenden Schrittdefinition, die ausgeführt werden kann.

Schritt 4: Fügen Sie dem neuen Testfall ein Tag hinzu

  • Sie können den Funktionen und Szenarien Tags zuweisen, um den Testprozess zu organisieren. Sie können Tags verwenden, um die Teilmengen von Szenarien zu kategorisieren und Hooks auch unter bestimmten Bedingungen auszuführen. Features und Szenarien können mehrere durch ein Leerzeichen getrennte Tags haben.

    In diesem Beispiel verwenden wir die HelloWorld Komponente.

    Fügen Sie in der Feature-Datei ein neues Tag mit dem Namen @HelloWorld neben dem @Sample Tag hinzu.

    @Sample @HelloWorld Scenario: As a developer, I can create a component and deploy it on my device ....

Schritt 5: Erstellen Sie das Test-JAR

  1. Erstellen Sie die Komponente. Sie müssen die Komponente erstellen, bevor Sie das Testmodul erstellen.

    gdk component build
  2. Erstellen Sie das Testmodul mit dem folgenden Befehl. Dieser Befehl erstellt die Test-JAR im greengrass-build Ordner.

    gdk test-e2e build

Schritt 6: Führen Sie den Test aus

Wenn Sie einen benutzerdefinierten Testfall ausführen, automatisiert GTF den Lebenszyklus des Tests sowie die Verwaltung der Ressourcen, die während des Tests erstellt wurden. Es stellt zunächst ein zu testendes Gerät (DUT) als AWS IoT Ding bereit und installiert die Greengrass-Kernsoftware darauf. Anschließend wird eine neue Komponente erstellt, die nach dem in diesem Pfad angegebenen Rezept benannt HelloWorld wird. Die HelloWorld Komponente wird dann über eine Greengrass-Dingbereitstellung auf dem Kerngerät bereitgestellt. Anschließend wird überprüft, ob die Bereitstellung erfolgreich ist. Der Bereitstellungsstatus wird COMPLETED innerhalb von 3 Minuten auf einen Wert geändert, wenn die Bereitstellung erfolgreich ist.

  1. Gehen Sie zu der gdk-config.json Datei im Projektverzeichnis, um die Tests mit dem HelloWorld Tag als Ziel festzulegen. Aktualisieren Sie den test-e2e Schlüssel mit dem folgenden Befehl.

    "test-e2e":{ "gtf_options" : { "tags":"HelloWorld" } }
  2. Bevor Sie die Tests ausführen, müssen Sie AWS Anmeldeinformationen für das Hostgerät angeben. GTF verwendet diese Anmeldeinformationen, um die AWS Ressourcen während des Testprozesses zu verwalten. Stellen Sie sicher, dass die von Ihnen angegebene Rolle über die erforderlichen Berechtigungen verfügt, um die im Test enthaltenen erforderlichen Vorgänge zu automatisieren.

    Führen Sie die folgenden Befehle aus, um die AWS Anmeldeinformationen bereitzustellen.

    1. Linux or Unix
      export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
      Windows Command Prompt (CMD)
      set AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE set AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
      PowerShell
      $env:AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE" $env:AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
      export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
  3. Führen Sie den Test mit dem folgenden Befehl aus.

    gdk test-e2e run

    Mit diesem Befehl wird die neueste Version von Greengrass Nucleus in den greengrass-build Ordner heruntergeladen und Tests damit ausgeführt. Dieser Befehl zielt auch nur auf die Szenarien ab, die mit dem HelloWorld Tag gekennzeichnet sind, und generiert einen Bericht für diese Szenarien. Sie werden sehen, dass die AWS Ressourcen, die während dieses Tests erstellt wurden, am Ende des Tests verworfen werden.

Beispiel: Erstellen Sie einen benutzerdefinierten Testfall

Das heruntergeladene Testmodul im GDK-Projekt besteht aus einer Beispielfunktion und einer Datei zur schrittweisen Implementierung.

Im folgenden Beispiel erstellen wir eine Feature-Datei zum Testen der Ding-Deployment-Funktion der Greengrass-Software. Wir testen die Funktionalität dieser Funktion teilweise mit einem Szenario, das die Bereitstellung einer Komponente über Greengrass AWS Cloud durchführt. Dies ist eine Reihe von Schritten, die uns helfen, die Interaktionen und die erwarteten Ergebnisse dieses Anwendungsfalls zu verstehen.

  1. Erstellen Sie eine Feature-Datei

    Navigieren Sie zu dem gg-e2e-tests/src/main/resources/greengrass/features Ordner im aktuellen Verzeichnis. Sie können das Beispiel findencomponent.feature, das wie das folgende Beispiel aussieht.

    In dieser Feature-Datei können Sie die Thing-Bereitstellungsfunktion der Greengrass-Software testen. Sie können die Funktionalität dieser Funktion teilweise mit einem Szenario testen, das eine Bereitstellung einer Komponente über die Greengrass-Cloud durchführt. Das Szenario besteht aus einer Reihe von Schritten, die dazu beitragen, die Interaktionen und die erwarteten Ergebnisse dieses Anwendungsfalls zu verstehen.

    Feature: Testing features of Greengrassv2 component Background: Given my device is registered as a Thing And my device is running Greengrass @Sample Scenario: As a developer, I can create a component and deploy it on my device When I create a Greengrass deployment with components HelloWorld | /path/to/recipe/file And I deploy the Greengrass deployment configuration Then the Greengrass deployment is COMPLETED on the device after 180 seconds And I call my custom step

    GTF enthält die Schrittdefinitionen aller folgenden Schritte, mit Ausnahme des genannten Schritts:And I call my custom step.

  2. Implementieren Sie Schrittdefinitionen

    GTF Standalone JAR enthält die Schrittdefinitionen aller Schritte mit Ausnahme eines Schritts:And I call my custom step. Sie können diesen Schritt im Testmodul implementieren.

    Navigieren Sie zum Quellcode der Testdatei. Sie können Ihren benutzerdefinierten Schritt mithilfe einer Schrittdefinition verknüpfen, indem Sie den folgenden Befehl verwenden.

    @And("I call my custom step") public void customStep() { System.out.println("My custom step was called "); }
DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.