Didacticiel : Générez et exécutez l'exemple de suite de tests IDT - 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.

Didacticiel : Générez et exécutez l'exemple de suite de tests IDT

LeAWS IoTLe téléchargement de Device Tester inclut le code source d'un exemple de suite de tests. Vous pouvez suivre ce didacticiel pour créer et exécuter l'exemple de suite de tests afin de comprendre comment utiliserAWS IoTDevice Tester pourAWS IoT Greengrasspour exécuter des suites de tests personnalisées.

Prérequis

Pour suivre ce didacticiel, vous aurez besoin des éléments suivants :

  • Configuration requise de l'ordinateur hôte
    • Dernière version deAWS IoTDevice Tester

    • Python3.7 ou version ultérieure

      Pour vérifier la version de Python installée sur votre ordinateur, exécutez la commande suivante :

      python3 --version

      Sous Windows, si l'utilisation de cette commande renvoie une erreur, utilisezpython --versionà la place. Si le numéro de version renvoyé est 3.7 ou supérieur, exécutez la commande suivante dans un terminal Powershell pour définirpython3comme alias pourpythoncommande.

      Set-Alias -Name "python3" -Value "python"

      Si aucune information de version n'est renvoyée ou si le numéro de version est inférieur à 3,7, suivez les instructions deTéléchargement de Pythonpour installer Python 3.7+. Pour plus d'informations, consultez le .Documentation Python.

    • urllib3

      Pour vérifier queurllib3est installé correctement, exécutez la commande suivante :

      python3 -c 'import urllib3'

      Siurllib3n'a pas encore été installé, exécutez la commande suivante pour l'installer :

      python3 -m pip install urllib3
  • Exigences relatives aux dispositifs
    • Un appareil doté d'un système d'exploitation Linux et d'une connexion réseau au même réseau que votre ordinateur hôte.

      Nous vous recommandons d'utiliser unRaspberry Piavec Raspberry Pi OS Assurez-vous que vous avez configuréSSHsur votre Raspberry Pi pour se connecter à distance.

Configuration des informations sur les appareils pour IDT

Configurez les informations de votre appareil pour qu'IDT puisse exécuter le test. Vous devez mettre à jour ladevice.jsonmodèle situé dans le<device-tester-extract-location>/configsdossier contenant les informations suivantes.

[ { "id": "pool", "sku": "N/A", "devices": [ { "id": "<device-id>", "connectivity": { "protocol": "ssh", "ip": "<ip-address>", "port": "<port>", "auth": { "method": "pki | password", "credentials": { "user": "<user-name>", "privKeyPath": "/path/to/private/key", "password": "<password>" } } } } ] } ]

Dansdevices, fournissez les informations suivantes :

id

Un identificateur unique défini par l'utilisateur pour votre appareil.

connectivity.ip

Adresse IP de votre appareil.

connectivity.port

Facultatif. Numéro de port à utiliser pour les connexions SSH à votre appareil.

connectivity.auth

Informations d'authentification pour la connexion.

Cette propriété s'applique uniquement si connectivity.protocol est défini sur ssh.

connectivity.auth.method

Méthode d'authentification utilisée pour accéder à un appareil sur le protocole de connectivité donné.

Les valeurs prises en charge sont :

  • pki

  • password

connectivity.auth.credentials

Informations d'identification utilisées pour l'authentification.

connectivity.auth.credentials.user

Le nom d'utilisateur utilisé pour se connecter à votre appareil.

connectivity.auth.credentials.privKeyPath

Chemin complet à la clé privée utilisée pour se connecter à votre appareil.

Cette valeur s'applique uniquement si connectivity.auth.method est défini sur pki.

devices.connectivity.auth.credentials.password

Mot de passe utilisé pour se connecter à votre appareil.

Cette valeur s'applique uniquement si connectivity.auth.method est défini sur password.

Note

Spécifiez privKeyPath uniquement si method est défini sur pki.

Spécifiez password uniquement si method est défini sur password.

Création de la suite de tests d'échantillons

Le<device-tester-extract-location>/samples/pythoncontient des exemples de fichiers de configuration, de code source et du kit SDK client IDT que vous pouvez combiner dans une suite de tests à l'aide des scripts de génération fournis. L'arborescence de répertoires suivante indique l'emplacement de ces exemples de fichiers :

<device-tester-extract-location> ├── ... ├── tests ├── samples │ ├── ... │ └── python │ ├── configuration │ ├── src │ └── build-scripts │ ├── build.sh │ └── build.ps1 └── sdks ├── ... └── python └── idt_client

Pour créer la suite de tests, exécutez les commandes suivantes sur votre ordinateur hôte :

Windows
cd <device-tester-extract-location>/samples/python/build-scripts ./build.ps1
Linux, macOS, or UNIX
cd <device-tester-extract-location>/samples/python/build-scripts ./build.sh

Cela crée l'exemple de suite de tests dans leIDTSampleSuitePython_1.0.0dans le dossier<device-tester-extract-location>/testsfolder. Passez en revue les fichiers dans leIDTSampleSuitePython_1.0.0pour comprendre comment l'exemple de suite de tests est structuré et voir divers exemples d'exécutables de cas de test et de fichiers JSON de configuration de test.

Étape suivante: Utilisez IDT pourExécutez la suite de tests d'échantillonsque vous avez créé.

Utiliser IDT pour exécuter la suite de tests d'échantillons

Pour exécuter l'exemple de suite de tests, exécutez les commandes suivantes sur votre ordinateur hôte :

cd <device-tester-extract-location>/bin ./devicetester_[linux | mac | win_x86-64] run-suite --suite-id IDTSampleSuitePython

IDT exécute la suite de tests d'exemple et diffuse les résultats vers la console. Lorsque le test est terminé, les informations suivantes s'affichent :

========== Test Summary ========== Execution Time: 5s Tests Completed: 4 Tests Passed: 4 Tests Failed: 0 Tests Skipped: 0 ---------------------------------- Test Groups: sample_group: PASSED ---------------------------------- Path to IoT Device Tester Report: /path/to/devicetester/results/87e673c6-1226-11eb-9269-8c8590419f30/awsiotdevicetester_report.xml Path to Test Execution Logs: /path/to/devicetester/results/87e673c6-1226-11eb-9269-8c8590419f30/logs Path to Aggregated JUnit Report: /path/to/devicetester/results/87e673c6-1226-11eb-9269-8c8590419f30/IDTSampleSuitePython_Report.xml

Dépannage

Utilisez les informations suivantes pour résoudre les problèmes liés à la réalisation du didacticiel.

Le cas de test ne s'exécute pas correctement

Si le test ne s'exécute pas correctement, IDT diffuse les journaux d'erreurs vers la console, ce qui peut vous aider à résoudre le problème de l'exécution du test. Assurez-vous que vous rencontrez tous lesexigencespour ce didacticiel.

Impossible de se connecter à l'appareil testé

Vérifiez les paramètres suivants :

  • Votredevice.jsoncontient l'adresse IP, le port et les informations d'authentification correctes.

  • Vous pouvez vous connecter à votre appareil via SSH à partir de votre ordinateur hôte.