Création de fichiers de configuration de la 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.

Création de fichiers de configuration de la suite de tests IDT

Cette section décrit les formats dans lesquels vous créez des fichiers de configuration que vous incluez lorsque vous écrivez une suite de tests personnalisée.

Fichiers de configuration requis
suite.json

Contient des informations sur la suite de tests. veuillez consulter Configurer suite.json.

group.json

Contient des informations sur un groupe de test. Vous devez créer un group.json fichier pour chaque groupe de test de votre suite de tests. veuillez consulter Configurer group.json.

test.json

Contient des informations sur un scénario de test. Vous devez créer un test.json fichier pour chaque scénario de test de votre suite de tests. veuillez consulter Configurer test.json.

Fichiers de configuration facultatifs
test_orchestrator.yaml ou state_machine.json

Définit la manière dont les tests sont exécutés lorsque IDT exécute la suite de tests. SEConfigurer test_orchestrator.yaml.

Note

À partir de IDT v4.5.1, vous utilisez le test_orchestrator.yaml fichier pour définir le flux de travail de test. Dans les versions précédentes d'IDT, vous utilisiez le state_machine.json fichier. Pour plus d'informations sur la machine à états, consultezConfigurer la machine d'état IDT.

userdata_schema.json

Définit le schéma du userdata.jsonfichier que les testeurs peuvent inclure dans leur configuration de configuration. Le userdata.json fichier est utilisé pour toute information de configuration supplémentaire requise pour exécuter le test mais absente du device.json fichier. veuillez consulter Configurer userdata_schema.json.

Les fichiers de configuration sont placés dans votre dossier<custom-test-suite-folder>, comme indiqué ici.

<custom-test-suite-folder> └── suite ├── suite.json ├── test_orchestrator.yaml ├── userdata_schema.json ├── <test-group-folder> ├── group.json ├── <test-case-folder> └── test.json

Configurer suite.json

Le suite.json fichier définit les variables d'environnement et détermine si les données utilisateur sont nécessaires pour exécuter la suite de tests. Utilisez le modèle suivant pour configurer votre <custom-test-suite-folder>/suite/suite.json fichier :

{ "id": "<suite-name>_<suite-version>", "title": "<suite-title>", "details": "<suite-details>", "userDataRequired": true | false, "environmentVariables": [ { "key": "<name>", "value": "<value>", }, ... { "key": "<name>", "value": "<value>", } ] }

Tous les champs qui contiennent des valeurs sont requis, comme indiqué ici :

id

Un identifiant unique défini par l'utilisateur pour la suite de tests. La valeur de id doit correspondre au nom du dossier de la suite de tests dans lequel se trouve le suite.json fichier. Le nom et la version de la suite doivent également répondre aux exigences suivantes :

  • <suite-name>ne peut pas contenir de traits de soulignement.

  • <suite-version>est notéx.x.x, où x est un nombre.

L'ID est indiqué dans les rapports de test générés par IDT.

title

Nom défini par l'utilisateur pour le produit ou la fonctionnalité testé par cette suite de tests. Le nom est affiché dans la CLI IDT pour les testeurs.

details

Brève description de l'objectif de la suite de tests.

userDataRequired

Définit si les testeurs doivent inclure des informations personnalisées dans un userdata.json fichier. Si vous définissez cette valeur surtrue, vous devez également inclure le userdata_schema.jsonfichier dans le dossier de votre suite de tests.

environmentVariables

Facultatif. Un tableau de variables d'environnement à définir pour cette suite de tests.

environmentVariables.key

Le nom de la variable d'environnement.

environmentVariables.value

Valeur de la variable d'environnement.

Configurer group.json

Le group.json fichier définit si un groupe de test est obligatoire ou facultatif. Utilisez le modèle suivant pour configurer votre <custom-test-suite-folder>/suite/<test-group>/group.json fichier :

{ "id": "<group-id>", "title": "<group-title>", "details": "<group-details>", "optional": true | false, }

Tous les champs qui contiennent des valeurs sont requis, comme indiqué ici :

id

Un identifiant unique défini par l'utilisateur pour le groupe de test. La valeur de id doit correspondre au nom du dossier du groupe de test dans lequel se trouve le group.json fichier et ne peut pas contenir de traits de soulignement (_). L'ID est utilisé dans les rapports de test générés par IDT.

title

Nom descriptif du groupe de test. Le nom est affiché dans la CLI IDT pour les testeurs.

details

Brève description de l'objectif du groupe de test.

optional

Facultatif. Définissez sur true pour afficher ce groupe de test en tant que groupe facultatif une fois qu'IDT a terminé d'exécuter les tests requis. La valeur par défaut est false.

Configurer test.json

Le test.json fichier détermine les exécutables du scénario de test et les variables d'environnement utilisées par un scénario de test. Pour plus d'informations sur la création d'exécutables de scénarios de test, consultez. Création d'exécutables de cas de test IDT

Utilisez le modèle suivant pour configurer votre <custom-test-suite-folder>/suite/<test-group>/<test-case>/test.json fichier :

{ "id": "<test-id>", "title": "<test-title>", "details": "<test-details>", "requireDUT": true | false, "requiredResources": [ { "name": "<resource-name>", "features": [ { "name": "<feature-name>", "version": "<feature-version>", "jobSlots": <job-slots> } ] } ], "execution": { "timeout": <timeout>, "mac": { "cmd": "/path/to/executable", "args": [ "<argument>" ], }, "linux": { "cmd": "/path/to/executable", "args": [ "<argument>" ], }, "win": { "cmd": "/path/to/executable", "args": [ "<argument>" ] } }, "environmentVariables": [ { "key": "<name>", "value": "<value>", } ] }

Tous les champs qui contiennent des valeurs sont requis, comme indiqué ici :

id

Un identifiant unique défini par l'utilisateur pour le scénario de test. La valeur de id doit correspondre au nom du dossier de scénario de test dans lequel se trouve le test.json fichier et ne peut pas contenir de traits de soulignement (_). L'ID est utilisé dans les rapports de test générés par IDT.

title

Nom descriptif du scénario de test. Le nom est affiché dans la CLI IDT pour les testeurs.

details

Brève description de l'objectif du scénario de test.

requireDUT

Facultatif. Réglez sur true si un appareil est requis pour exécuter ce test, sinon surfalse. La valeur par défaut est true. Les testeurs configureront les appareils qu'ils utiliseront pour exécuter le test dans leur device.json fichier.

requiredResources

Facultatif. Un tableau qui fournit des informations sur les périphériques de ressources nécessaires pour exécuter ce test.

requiredResources.name

Le nom unique à attribuer au périphérique de ressource lors de l'exécution de ce test.

requiredResources.features

Un ensemble de fonctionnalités de périphérique de ressources définies par l'utilisateur.

requiredResources.features.name

Nom de la fonctionnalité. Fonctionnalité de l'appareil pour laquelle vous souhaitez utiliser cet appareil. Ce nom est comparé au nom de la fonctionnalité fourni par le testeur dans le resource.json fichier.

requiredResources.features.version

Facultatif. Version de la fonctionnalité. Cette valeur est comparée à la version de fonctionnalité fournie par le lanceur de test dans le resource.json fichier. Si aucune version n'est fournie, la fonctionnalité n'est pas cochée. Si aucun numéro de version n'est requis pour la fonctionnalité, laissez ce champ vide.

requiredResources.features.jobSlots

Facultatif. Le nombre de tests simultanés que cette fonctionnalité peut prendre en charge. La valeur par défaut est 1. Si vous souhaitez qu'IDT utilise des appareils distincts pour des fonctionnalités individuelles, nous vous recommandons de définir cette valeur sur1.

execution.timeout

Durée (en millisecondes) pendant laquelle IDT attend la fin du test. Pour plus d'informations sur la définition de cette valeur, consultezCréation d'exécutables de cas de test IDT.

execution.os

Les exécutables du scénario de test à exécuter sont basés sur le système d'exploitation de l'ordinateur hôte qui exécute IDT. Les valeurs prises en charge sont linux, mac et win.

execution.os.cmd

Le chemin d'accès au fichier exécutable du scénario de test que vous souhaitez exécuter pour le système d'exploitation spécifié. Cet emplacement doit se trouver dans le chemin du système.

execution.os.args

Facultatif. Les arguments à fournir pour exécuter l'exécutable du scénario de test.

environmentVariables

Facultatif. Un tableau de variables d'environnement défini pour ce cas de test.

environmentVariables.key

Le nom de la variable d'environnement.

environmentVariables.value

Valeur de la variable d'environnement.

Note

Si vous spécifiez la même variable d'environnement dans le test.json fichier et dans le suite.json fichier, la valeur du test.json fichier est prioritaire.

Configurer test_orchestrator.yaml

Un orchestrateur de tests est une construction qui contrôle le flux d'exécution de la suite de tests. Il détermine l'état de départ d'une suite de tests, gère les transitions d'état en fonction de règles définies par l'utilisateur et continue de passer par ces états jusqu'à ce qu'il atteigne l'état final.

Si votre suite de tests n'inclut pas d'orchestrateur de test défini par l'utilisateur, IDT générera un orchestrateur de tests pour vous.

L'orchestrateur de test par défaut exécute les fonctions suivantes :

  • Permet aux testeurs de sélectionner et d'exécuter des groupes de tests spécifiques, au lieu de recourir à la suite de tests complète.

  • Si aucun groupe de test spécifique n'est sélectionné, exécute chaque groupe de test de la suite de tests dans un ordre aléatoire.

  • Génère des rapports et imprime un résumé de console présentant les résultats des tests pour chaque groupe de test et chaque cas de test.

Pour plus d'informations sur le fonctionnement de l'orchestrateur de test IDT, consultez. Configurer l'orchestrateur de test IDT

Configurer userdata_schema.json

Le userdata_schema.json fichier détermine le schéma dans lequel les testeurs fournissent les données utilisateur. Les données utilisateur sont requises si votre suite de tests nécessite des informations qui ne figurent pas dans le device.json fichier. Par exemple, vos tests peuvent nécessiter des informations d'identification du réseau Wi-Fi, des ports ouverts spécifiques ou des certificats qu'un utilisateur doit fournir. Ces informations peuvent être fournies à IDT sous la forme d'un paramètre d'entrée appeléuserdata, dont la valeur est un userdata.json fichier, que les utilisateurs créent dans leur <device-tester-extract-location>/config dossier. Le format du userdata.json fichier est basé sur le userdata_schema.json fichier que vous incluez dans la suite de tests.

Pour indiquer que les testeurs doivent fournir un userdata.json fichier :

  1. Dans le suite.json fichier, définissez userDataRequired surtrue.

  2. Dans votre<custom-test-suite-folder>, créez un userdata_schema.json fichier.

  3. Modifiez le userdata_schema.json fichier pour créer un schéma JSON IETF Draft v4 valide.

Lorsque IDT exécute votre suite de tests, il lit automatiquement le schéma et l'utilise pour valider le userdata.json fichier fourni par le testeur. S'il est valide, le contenu du userdata.json fichier est disponible à la fois dans le contexte IDT et dans le contexte de l'orchestrateur de test.