Verwenden Sie das AWS IoT Greengrass Testing Framework - 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.

Verwenden Sie das AWS IoT Greengrass Testing Framework

Das Greengrass Testing Framework (GTF) ist eine Sammlung von Bausteinen, die die end-to-end Automatisierung aus Kundensicht unterstützen. GTF verwendet Cucumber als Feature-Treiber. AWS IoT Greengrass verwendet dieselben Bausteine, um Softwareänderungen auf verschiedenen Geräten zu qualifizieren. Weitere Informationen finden Sie unter Greengrass Testing Framework auf Github.

GTF wird mithilfe von Cucumber implementiert, einem Tool zur Durchführung automatisierter Tests, um eine verhaltensgesteuerte Entwicklung (BDD) der Komponenten zu fördern. In Cucumber werden die Funktionen dieses Systems in einem speziellen Dateityp namens beschrieben. feature Jede Funktion wird in einem für Menschen lesbaren Format beschrieben, das als Szenarien bezeichnet wird. Dabei handelt es sich um Spezifikationen, die in automatisierte Tests umgewandelt werden können. Jedes Szenario besteht aus einer Reihe von Schritten, die die Interaktionen und Ergebnisse des zu testenden Systems mithilfe einer domänenspezifischen Sprache namens Gherkin definieren. Ein Gherkin-Schritt ist mit dem Programmiercode verknüpft. Dabei wird eine Methode verwendet, die als Schrittdefinition bezeichnet wird und die Spezifikation fest mit dem Testablauf verknüpft. Schrittdefinitionen in GTF werden mit Java implementiert.

Funktionsweise

AWS IoT Greengrass verteilt das GTF als eigenständiges JAR, das aus mehreren Java-Modulen besteht. Um GTF zum end-to-end Testen von Komponenten zu verwenden, müssen Sie die Tests in einem Java-Projekt implementieren. Wenn Sie das Test-Standable-JAR als Abhängigkeit in Ihrem Java-Projekt hinzufügen, können Sie die bestehende Funktionalität der GTF nutzen und sie erweitern, indem Sie Ihre eigenen benutzerdefinierten Testfälle schreiben. Um die benutzerdefinierten Testfälle auszuführen, können Sie Ihr Java-Projekt erstellen und das Ziel-JAR mit den unter beschriebenen Konfigurationsoptionen ausführen. Konfigurationsoptionen für das Greengrass Testing Framework

Eigenständiges GTF-JAR

Greengrass verwendet Cloudfront als Maven-Repository, um verschiedene Versionen des GTF-Standalone-JAR zu hosten. Eine vollständige Liste der GTF-Versionen finden Sie unter GTF-Versionen.

GTF Standalone JAR umfasst die folgenden Module. Es ist nicht nur auf diese Module beschränkt. Sie können jede dieser Abhängigkeiten separat in Ihrem Projekt auswählen oder sie alle gleichzeitig in die eigenständige JAR-Test-JAR-Datei aufnehmen.

  • aws-greengrass-testing-resources: Dieses Modul bietet Abstraktion für die Verwaltung des Lebenszyklus einer AWS Ressource während eines Tests. Sie können dies verwenden, um Ihre benutzerdefinierten AWS Ressourcen mithilfe von ResourceSpec Abstraktion zu definieren, sodass GTF sich für Sie um die Erstellung und Entfernung dieser Ressourcen kümmern kann.

  • aws-greengrass-testing-platform: Dieses Modul bietet Abstraktion auf Plattformebene für das zu testende Gerät während des Testlebenszyklus. Es enthält APIs, die für die plattformunabhängige Interaktion mit dem Betriebssystem verwendet werden, und kann verwendet werden, um die Befehle zu simulieren, die in der Geräte-Shell ausgeführt werden.

  • aws-greengrass-testing-components: Dieses Modul besteht aus Beispielkomponenten, die zum Testen der Greengrass-Kernfunktionen wie Bereitstellungen, IPC und anderen Funktionen verwendet werden.

  • aws-greengrass-testing-features: Dieses Modul besteht aus wiederverwendbaren gemeinsamen Schritten und ihren Definitionen, die für Tests in der Greengrass-Umgebung verwendet werden.

Änderungsprotokoll

In der folgenden Tabelle werden die Änderungen in den einzelnen Versionen des GTF beschrieben. Weitere Informationen finden Sie auf der Seite GTF-Veröffentlichungen unter. GitHub

Version

Änderungen

1.2.0
Neue Features
  • Fügt netzwerkbezogene Schritte zur Konfiguration von MQTT und Internet-Netzwerkkonnektivität während Tests hinzu.

  • Fügt Schritte zur Systemmetrik hinzu, um die RAM- und CPU-Auslastung des Geräts zu überwachen.

Fehlerkorrekturen und Verbesserungen
  • Der lokale Bereitstellungsschritt von Greengrass CLI wird wiederholt, bis er erfolgreich ist.

  • Tests stoppen den Greengrass-Kern auf elegante Weise, anstatt ihn abzutöten.

  • Fügt eine Verbesserung hinzu, bei der GTF den Endpunkt AWS IoT Credentials abfragt, bis Anmeldeinformationen für das Ding und den Rollen-Alias abgerufen werden können.

  • Behebt fehlende Artefakte und Rezeptverzeichnisse. Diese Version behebt auch fehlende Komponentenversionen.

  • Behebt ein Problem, bei dem GTF während der Docker-Image-Bereinigung fehlschlägt, wenn das Docker-Image nicht existiert.

  • Fügt das Schlüsselwort CURRENT als Version der Komponente hinzu.

1.1.0

Neue Features
  • Fügt die Möglichkeit hinzu, eine benutzerdefinierte Komponente mit Konfiguration zu installieren. Dies erfordert ein Rezept für die benutzerdefinierte Komponente.

  • Fügt die Möglichkeit hinzu, eine lokale Bereitstellung mit einer benutzerdefinierten Konfiguration zu aktualisieren.

Fehlerkorrekturen und Verbesserungen
  • Behebt das Problem mit der Inkonsistenz der GTF-Version im Logkontext.

1.0.0

Erste Version