Utiliser le framework AWS IoT Greengrass de test - AWS IoT Greengrass

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utiliser le framework AWS IoT Greengrass de test

Greengrass Testing Framework (GTF) est un ensemble de composants qui soutiennent l' end-to-endautomatisation du point de vue du client. GTF utilise Cucumber comme pilote de fonctionnalités. AWS IoT Greengrass utilise les mêmes éléments de base pour qualifier les modifications logicielles sur différents appareils. Pour plus d'informations, consultez Greengrass Testing Framework sur Github.

Le GTF est implémenté à l'aide de Cucumber, un outil utilisé pour exécuter des tests automatisés, afin d'encourager un développement des composants piloté par le comportement (BDD). Dans Cucumber, les fonctionnalités de ce système sont décrites dans un type de fichier spécial appeléfeature. Chaque fonctionnalité est décrite dans un format lisible par l'homme appelé scénarios, qui sont des spécifications pouvant être converties en tests automatisés. Chaque scénario est décrit comme une série d'étapes qui définissent les interactions et les résultats de ce système testé à l'aide d'un langage spécifique au domaine appelé Gherkin. Une étape Gherkin est liée au code de programmation à l'aide d'une méthode appelée définition d'étape qui relie la spécification au flux de test. Les définitions d'étapes dans GTF sont implémentées avec Java.

Comment ça marche

AWS IoT Greengrass distribue le GTF sous la forme d'un JAR autonome composé de plusieurs modules Java. Pour utiliser GTF pour end-to-end tester des composants, vous devez implémenter les tests dans un projet Java. L'ajout du JAR autonome de test en tant que dépendance dans votre projet Java vous permet d'utiliser les fonctionnalités existantes du GTF et de les étendre en écrivant vos propres cas de test personnalisés. Pour exécuter les scénarios de test personnalisés, vous pouvez créer votre projet Java et exécuter le fichier JAR cible avec les options de configuration décrites dansOptions de configuration du Greengrass Testing Framework.

JAR autonome GTF

Greengrass utilise Cloudfront comme référentiel Maven pour héberger différentes versions du JAR autonome GTF. Pour une liste complète des versions de GTF, voir les versions de GTF.

Le JAR autonome GTF inclut les modules suivants. Il n'est pas limité à ces seuls modules. Vous pouvez sélectionner chacune de ces dépendances séparément dans votre projet ou les inclure toutes en même temps dans le fichier JAR autonome de test.

  • aws-greengrass-testing-resources: Ce module fournit une abstraction permettant de gérer le cycle de vie d'une AWS ressource au cours d'un test. Vous pouvez l'utiliser pour définir vos AWS ressources personnalisées à l'aide de l'ResourceSpecabstraction afin que GTF puisse s'occuper de la création et de la suppression de ces ressources pour vous.

  • aws-greengrass-testing-platform: Ce module fournit une abstraction au niveau de la plate-forme pour le périphérique testé pendant le cycle de vie du test. Il contient des API utilisées pour interagir avec le système d'exploitation indépendamment de la plate-forme et peut être utilisé pour simuler les commandes exécutées dans le shell de l'appareil.

  • aws-greengrass-testing-components: Ce module comprend des exemples de composants utilisés pour tester les fonctionnalités principales de Greengrass, telles que les déploiements, l'IPC et d'autres fonctionnalités.

  • aws-greengrass-testing-features: Ce module comprend des étapes communes réutilisables et leurs définitions qui sont utilisées pour les tests dans l'environnement Greengrass.

Journal des modifications

Le tableau suivant décrit les modifications apportées à chaque version du GTF. Pour plus d'informations, consultez la page des versions du GTF sur GitHub.

Version

Modifications

1.2.0
Nouvelles fonctionnalités
  • Ajoute des étapes liées au réseau pour configurer le MQTT et la connectivité au réseau Internet pendant les tests.

  • Ajoute des étapes métriques au système pour surveiller l'utilisation de la RAM et du processeur de l'appareil.

Corrections de bugs et améliorations
  • L'étape de déploiement local de Greengrass CLI est réessayée jusqu'à ce qu'elle réussisse.

  • Les tests arrêtent gracieusement le noyau de Greengrass au lieu de le tuer.

  • Ajoute une amélioration grâce à laquelle GTF interroge le point de terminaison des AWS IoT informations d'identification jusqu'à ce que les informations d'identification soient récupérables pour l'objet et l'alias de rôle.

  • Corrige les artefacts et les répertoires de recettes manquants. Cette version corrige également les versions de composants manquantes.

  • Résout un problème d'échec du GTF lors du nettoyage de l'image docker si l'image docker n'existe pas.

  • Ajoute le mot clé CURRENT en tant que version du composant.

1.1.0

Nouvelles fonctionnalités
  • Permet d'installer un composant personnalisé avec configuration. Cela nécessite une recette pour le composant personnalisé.

  • Permet de mettre à jour un déploiement local avec une configuration personnalisée.

Corrections de bugs et améliorations
  • Résout le problème d'incohérence entre les versions GTF du contexte du journal.

1.0.0

Première version.