View a markdown version of this page

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

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 les 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. Consultez 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. Consultez 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. Consultez Configurer test.json.

Fichiers de configuration facultatifs

test_orchestrator.yaml ou state_machine.json

Définit la façon dont les tests sont exécutés lorsque IDT exécute la suite de tests. VoirConfigurer test_orchestrator.yaml.

Note

À partir de la version 4.5.2 d'IDT, 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, consultezConfiguration de la machine d'état IDT.

userdata_schema.json

Définit le schéma du userdata.json fichier que les testeurs peuvent inclure dans la configuration de leurs paramètres. Le userdata.json fichier est utilisé pour toutes les informations de configuration supplémentaires requises pour exécuter le test mais qui ne figurent pas dans le device.json fichier. Consultez Configurer userdata_schema.json.

Les fichiers de configuration sont placés dans votre <custom-test-suite-folder> dossier 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 désigné parx.x.x, où x est un nombre.

L'identifiant est indiqué dans les rapports IDT-generated de test.

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.json fichier dans le dossier de votre suite de tests.

environmentVariables

Facultatif. 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 doit pas comporter de traits de soulignement (_). L'identifiant est utilisé dans les rapports IDT-generated de test.

title

Nom descriptif du groupe de test. Le nom est affiché dans l'interface de ligne de commande IDT pour les testeurs.

details

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

optional

Facultatif. Réglez true pour afficher ce groupe de tests 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 qui sont 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éer un exécutable de scénario 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 du scénario de test dans lequel se trouve le test.json fichier et ne doit pas comporter de traits de soulignement (_). L'identifiant est utilisé dans les rapports IDT-generated de test.

title

Nom descriptif du scénario de test. Le nom est affiché dans l'interface de ligne de commande IDT pour les testeurs.

details

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

requireDUT

Facultatif. Définissez sur true si un appareil est requis pour exécuter ce test, sinon définissez 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 dossier.

requiredResources

Facultatif. 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 ressource lors de l'exécution de ce test.

requiredResources.features

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

requiredResources.features.name

Le 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 la fonctionnalité fournie par le testeur 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 de l'exécution du test. Pour plus d'informations sur la définition de cette valeur, consultezCréer un exécutable de scénario de test IDT.

execution.os

Les exécutables du scénario de test à exécuter en fonction du 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 à l'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. Tableau de variables d'environnement définies pour ce scénario 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 structure 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 poursuit la transition entre ces états jusqu'à atteindre l'état final.

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

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

  • Permet aux testeurs de sélectionner et d'exécuter des groupes de tests spécifiques, plutôt que l'ensemble de la suite de tests.

  • 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 la console qui affiche 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 tests IDT, consultez. Configuration de l'orchestrateur de tests 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 Wi-Fi réseau, 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 tests.