Tutoriel : création et exécution de l'exemple de suite de tests IDT - 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.

Tutoriel : création et exécution de l'exemple de suite de tests IDT

Le AWS IoT Device Tester téléchargement 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 vous pouvez utiliser IDT AWS IoT Greengrass pour exécuter des suites de tests personnalisées.

Dans ce didacticiel, vous allez effectuer les étapes suivantes :

  1. Créez la suite d'exemples de tests

  2. Utiliser IDT pour exécuter l'exemple de suite de tests

Prérequis

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

  • Exigences relatives à l'ordinateur hôte
    • Dernière version de AWS IoT Device Tester

    • Python 3.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, utilisez-la à la python --version place. Si le numéro de version renvoyé est 3.7 ou supérieur, exécutez la commande suivante dans un terminal Powershell pour la définir python3 comme alias pour votre python commande.

      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 de la section Télécharger Python pour installer Python 3.7+. Pour plus d'informations, consultez la documentation Python.

    • urllib3

      Pour vérifier qu'urllib3il est correctement installé, exécutez la commande suivante :

      python3 -c 'import urllib3'

      S'il n'urllib3est pas installé, exécutez la commande suivante pour l'installer :

      python3 -m pip install urllib3
  • Exigences relatives aux dispositifs
    • 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 un Raspberry Pi avec le système d'exploitation Raspberry Pi. Assurez-vous de configurer SSH sur votre Raspberry Pi pour vous y connecter à distance.

Configurer les informations de l'appareil pour IDT

Configurez les informations de votre appareil pour qu'IDT exécute le test. Vous devez mettre à jour le device.json modèle situé dans le <device-tester-extract-location>/configs dossier avec 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>" } } } } ] } ]

Dans l'devicesobjet, fournissez les informations suivantes :

id

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

connectivity.ip

L'adresse IP de votre appareil.

connectivity.port

Facultatif. Le 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 vous connecter à votre appareil.

connectivity.auth.credentials.privKeyPath

Le chemin complet vers la clé privée utilisée pour vous connecter à votre appareil.

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

devices.connectivity.auth.credentials.password

Le mot de passe utilisé pour vous 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éez la suite d'exemples de tests

Le <device-tester-extract-location>/samples/python dossier contient des exemples de fichiers de configuration, du code source et le SDK du 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 le IDTSampleSuitePython_1.0.0 dossier situé à l'intérieur du <device-tester-extract-location>/tests dossier. Passez en revue les fichiers du IDTSampleSuitePython_1.0.0 dossier pour comprendre comment l'exemple de suite de tests est structuré et pour voir divers exemples d'exécutables de scénarios de test et de fichiers JSON de configuration de test.

Note

L'exemple de suite de tests inclut le code source python. N'incluez pas d'informations sensibles dans le code de votre suite de tests.

Étape suivante : utilisez IDT pour exécuter l'exemple de suite de tests que vous avez créée.

Utiliser IDT pour exécuter l'exemple de suite de tests

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 d'exemples de tests et diffuse les résultats sur 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

Résolution des problèmes

Utilisez les informations suivantes pour résoudre tout problème lié à l'exécution du didacticiel.

Le scénario de test ne s'exécute pas correctement

Si le test échoue, IDT diffuse les journaux d'erreurs sur la console afin de vous aider à résoudre les problèmes liés à l'exécution du test. Assurez-vous de remplir toutes les conditions requises pour ce didacticiel.

Impossible de se connecter à l'appareil testé

Vérifiez les paramètres suivants :

  • Votre device.json fichier contient l'adresse IP, le port et les informations d'authentification corrects.

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