Déboguer et exécuter des suites de tests personnalisées - AWS IoT Greengrass

AWS IoT Greengrass Version 1 est entré dans la phase de durée de vie prolongée le 30 juin 2023. Pour plus d'informations, consultez la politique de AWS IoT Greengrass V1 maintenance. Après cette date, AWS IoT Greengrass V1 ne publiera pas de mises à jour fournissant des fonctionnalités, des améliorations, des corrections de bogues ou des correctifs de sécurité. Les appareils qui fonctionnent AWS IoT Greengrass V1 sous tension ne seront pas perturbés et continueront à fonctionner et à se connecter au cloud. Nous vous recommandons vivement de migrer vers AWS IoT Greengrass Version 2, qui ajoute de nouvelles fonctionnalités importantes et prend en charge des plateformes supplémentaires.

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.

Déboguer et exécuter des suites de tests personnalisées

Après leconfiguration requiseest défini, IDT peut exécuter votre suite de tests. L'exécution de l'ensemble de la suite de tests dépend du matériel et de la composition de la suite de tests. Pour référence, il faut environ 30 minutes pour terminer l'exécution de l'ensembleAWS IoT Greengrasssuite de tests de qualification sur un Raspberry Pi 3B.

Lorsque vous écrivez votre suite de tests, vous pouvez utiliser IDT pour exécuter la suite de tests en mode débogage afin de vérifier votre code avant de l'exécuter ou de le fournir aux coureurs de tests.

Exécution d'IDT en mode de débogage

Étant donné que les suites de tests dépendent d'IDT pour interagir avec les appareils, fournir le contexte et recevoir des résultats, vous ne pouvez pas simplement déboguer vos suites de tests dans un IDE sans aucune interaction IDT. Pour ce faire, l'interface de ligne de commande IDT fournit ledebug-test-suitequi vous permet d'exécuter IDT en mode débogage. Exécutez la commande suivante pour afficher les options disponibles pourdebug-test-suite :

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

Lorsque vous exécutez IDT en mode débogage, IDT ne lance pas réellement la suite de tests ni n'exécute la machine d'état. Au lieu de cela, il interagit avec votre EDI pour répondre aux demandes émanant de la suite de tests exécutée dans l'EDI et imprime les journaux sur la console. IDT n'excède pas le délai d'expiration et attend de quitter jusqu'à ce qu'il soit interrompu manuellement. En mode débogage, IDT n'exécute pas non plus la machine d'état et ne génère aucun fichier de rapport. Pour déboguer votre suite de tests, vous devez utiliser votre EDI pour fournir certaines informations qu'IDT obtient généralement à partir des fichiers JSON de configuration. Veillez à spécifier les informations suivantes :

  • Variables et arguments d'environnement pour chaque test. IDT ne lira pas ces informations depuistest.jsonousuite.json.

  • Arguments permettant de sélectionner des périphériques de ressources. IDT ne lira pas ces informations depuistest.json.

Pour déboguer vos suites de tests, procédez comme suit :

  1. Créez les fichiers de configuration nécessaires à l'exécution de la suite de tests. Par exemple, si votre suite de tests nécessite ledevice.json,resource.json, etuser data.json, assurez-vous de les configurer tous au besoin.

  2. Exécutez la commande suivante pour placer IDT en mode débogage et sélectionner tous les périphériques nécessaires à l'exécution du test.

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

    Après avoir exécuté cette commande, IDT attend les demandes de la suite de tests, puis y répond. IDT génère également les variables d'environnement requises pour le processus de requête du SDK client IDT.

  3. Dans votre EDI, utilisez lerunoudebugpour effectuer les opérations suivantes :

    1. Définissez les valeurs des variables d'environnement générées par IDT.

    2. Définissez la valeur de toutes les variables ou arguments d'environnement que vous avez spécifiés dans votretest.jsonetsuite.jsondans le fichier.

    3. Définissez des points d'arrêt si nécessaire.

  4. Exécutez la suite de tests dans votre EDI.

    Vous pouvez déboguer et réexécuter la suite de tests autant de fois que nécessaire. IDT n'excède pas de temps en mode de débogage.

  5. Une fois le débogage terminé, interrompre IDT pour quitter le mode de débogage.

Commandes IDT CLI pour exécuter des tests

La section suivante décrit les commandes de l'interface de ligne de commande IDT :

IDT v4.0.0
help

Répertorie les informations sur la commande spécifiée.

list-groups

Répertorie les groupes dans une suite de tests donnée.

list-suites

Répertorie les suites de tests disponibles.

list-supported-products

Répertorie les produits pris en charge pour votre version d'IDT, dans ce casAWS IoT Greengrassversions, etAWS IoT Greengrassversions de suite de tests de qualification disponibles pour la version IDT actuelle.

list-test-cases

Répertorie les cas de tests d'un groupe de tests donné. L'option suivante est prise en charge :

  • group-id. Groupe de tests à rechercher. Cette option est obligatoire et doit spécifier un groupe unique.

run-suite

Exécute une suite de tests sur un groupe d'appareils. Voici quelques options couramment utilisées :

  • suite-id. Version de la suite de tests à exécuter. Si celle-ci n’est pas spécifiée, IDT utilise la dernière version dans le dossier tests.

  • group-id. Les groupes de tests à exécuter, sous la forme d'une liste séparée par des virgules. Si cette option n'est pas spécifiée, IDT exécute tous les groupes de tests de la suite de tests.

  • test-id. Cas de test à exécuter, sous la forme d'une liste séparée par des virgules. Lorsqu'il est spécifié, group-id doit spécifier un seul groupe.

  • pool-id. Le groupe de périphériques à tester. Les exécuteurs de tests doivent spécifier un groupe s'ils ont plusieurs groupes de périphériques définis dans votredevice.jsondans le fichier.

  • timeout-multiplier. Configure IDT pour modifier le délai d'exécution du test spécifié dans letest.jsonfichier pour un test avec un multiplicateur défini par l'utilisateur.

  • stop-on-first-failure. Configure IDT pour arrêter l'exécution à la première défaillance. Cette option doit être utilisée avec group-id pour déboguer les groupes de tests spécifiés.

  • userdata. Définit le fichier contenant les informations de données utilisateur nécessaires à l'exécution de la suite de tests. Cette option est obligatoire uniquement siuserdataRequiredest réglé sur true dans lesuite.jsonpour la suite de tests.

Pour de plus amples informations sur les options run-suite, utilisez l' option help suivante :

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

Exécutez la suite de tests en mode de débogage. Pour plus d'informations, consultez Exécution d'IDT en mode de débogage.