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.
Configuration des paramètres pour les testeurs
Pour exécuter des suites de tests personnalisées, les testeurs doivent configurer leurs paramètres en fonction de la suite de tests qu'ils souhaitent exécuter. Les paramètres sont spécifiés en fonction des modèles de fichiers de configuration situés dans le
dossier. Si nécessaire, les testeurs doivent également configurer des AWS informations d'identification qu'IDT utilisera pour se connecter au AWS cloud. <device-tester-extract-location>
/configs/
En tant que rédacteur de tests, vous devrez configurer ces fichiers pour déboguer votre suite de tests. Vous devez fournir des instructions aux testeurs afin qu'ils puissent configurer les paramètres suivants selon les besoins pour exécuter vos suites de tests.
Configurer device.json
Le device.json
fichier contient des informations sur les appareils sur lesquels les tests sont exécutés (par exemple, adresse IP, informations de connexion, système d'exploitation et architecture du processeur).
Les testeurs peuvent fournir ces informations à l'aide du device.json
fichier modèle suivant situé dans le
dossier.<device-tester-extract-location>
/configs/
[ { "id": "
<pool-id>
", "sku": "<pool-sku>
", "features": [ { "name": "<feature-name>
", "value": "<feature-value>
", "configs": [ { "name": "<config-name>
", "value":"<config-value>
" } ], } ], "devices": [ { "id": "<device-id>
", "connectivity": { "protocol": "ssh | uart | docker", // ssh "ip": "<ip-address>
", "port":<port-number>
, "auth": { "method": "pki | password", "credentials": { "user": "<user-name>
", // pki "privKeyPath": "/path/to/private/key
", // password "password": "<password>
", } }, // uart "serialPort": "<serial-port>
", // docker "containerId": "<container-id>
", "containerUser": "<container-user-name>
", } } ] } ]
Tous les champs qui contiennent des valeurs sont requis, comme indiqué ici :
id
-
ID alphanumérique défini par l'utilisateur qui identifie de façon unique un ensemble d'appareils appelé un groupe d'appareils. Le matériel doit être identique pour les appareils d'un même groupe. Lorsque vous exécutez une suite de tests, les appareils du groupe sont utilisés pour paralléliser la charge de travail. Plusieurs appareils sont utilisés pour exécuter différents tests.
sku
-
Valeur alphanumérique qui identifie de façon unique l'appareil que vous testez. Le SKU est utilisé pour suivre les appareils qualifiés.
Note
Si vous souhaitez ajouter votre carte dans le catalogue d'appareils AWS Partner, la référence que vous indiquez ici doit correspondre à celle indiquée pendant le processus d'élaboration de la liste.
features
-
Facultatif. Un tableau contenant les fonctions prises en charge de l'appareil. Les fonctionnalités de l'appareil sont des valeurs définies par l'utilisateur que vous configurez dans votre suite de tests. Vous devez fournir à vos testeurs des informations sur les noms et les valeurs des fonctionnalités à inclure dans le
device.json
fichier. Par exemple, si vous souhaitez tester un périphérique qui fonctionne comme un serveur MQTT pour d'autres appareils, vous pouvez configurer votre logique de test pour valider les niveaux pris en charge spécifiques pour une fonctionnalité nomméeMQTT_QOS
. Les testeurs fournissent le nom de cette fonctionnalité et définissent la valeur de la fonctionnalité en fonction des niveaux de QOS pris en charge par leur appareil. Vous pouvez récupérer les informations fournies depuis le contexte IDT avec ladevicePool.features
requête ou depuis le contexte de l'orchestrateur de test avec lapool.features
requête.features.name
-
Nom de la fonctionnalité.
features.value
-
Les valeurs des fonctionnalités prises en charge.
features.configs
-
Paramètres de configuration, si nécessaire, pour la fonctionnalité.
features.config.name
-
Nom du paramètre de configuration.
features.config.value
-
Les valeurs de réglage prises en charge.
devices
-
Un ensemble d'appareils du pool à tester. Au moins un appareil est requis.
devices.id
-
Un identificateur unique défini par l'utilisateur pour l'appareil testé.
connectivity.protocol
-
Le protocole de communication utilisé pour communiquer avec cet appareil. Chaque appareil d'un pool doit utiliser le même protocole.
Actuellement, les seules valeurs prises en charge sont
ssh
etuart
pour les appareils physiques, ainsi quedocker
pour les conteneurs Docker. connectivity.ip
-
L'adresse IP de l'appareil testé.
Cette propriété s'applique uniquement si
connectivity.protocol
est défini surssh
. connectivity.port
-
Facultatif. Le numéro de port à utiliser pour les connexions SSH.
La valeur par défaut est 22.
Cette propriété s'applique uniquement si
connectivity.protocol
est défini surssh
. connectivity.auth
-
Informations d'authentification pour la connexion.
Cette propriété s'applique uniquement si
connectivity.protocol
est défini surssh
.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.password
-
Mot de passe utilisé pour se connecter à l'appareil à tester.
Cette valeur s'applique uniquement si
connectivity.auth.method
est défini surpassword
. connectivity.auth.credentials.privKeyPath
-
Chemin complet de la clé privée utilisée pour se connecter à l'appareil testé.
Cette valeur s'applique uniquement si
connectivity.auth.method
est défini surpki
. connectivity.auth.credentials.user
-
Nom d'utilisateur pour la connexion à l'appareil testé.
connectivity.serialPort
-
Facultatif. Port série auquel le périphérique est connecté.
Cette propriété s'applique uniquement si
connectivity.protocol
est défini suruart
. connectivity.containerId
-
ID de conteneur ou nom du conteneur Docker en cours de test.
Cette propriété s'applique uniquement si
connectivity.protocol
est défini surssh
. connectivity.containerUser
-
Facultatif. Le nom de l'utilisateur à l'intérieur du conteneur. La valeur par défaut est l'utilisateur indiqué dans le Dockerfile.
La valeur par défaut est 22.
Cette propriété s'applique uniquement si
connectivity.protocol
est défini surssh
.
Note
Pour vérifier si les testeurs configurent la mauvaise connexion aux appareils pour un test, vous pouvez la récupérer dans le contexte
pool.Devices[0].Connectivity.Protocol
de l'orchestrateur de test et la comparer à la valeur attendue dans unChoice
état. Si un protocole incorrect est utilisé, imprimez un message en utilisant l'LogMessage
état et passez à l'Fail
état.Vous pouvez également utiliser un code de gestion des erreurs pour signaler un échec de test pour des types de périphériques incorrects.
(Facultatif) Configurer userdata.json
Le userdata.json
fichier contient toutes les informations supplémentaires requises par une suite de tests mais qui ne sont pas spécifiées dans le device.json
fichier. Le format de ce fichier dépend du userdata_scheme.jsonfichier défini dans la suite de tests. Si vous êtes rédacteur de tests, assurez-vous de fournir ces informations aux utilisateurs qui exécuteront les suites de tests que vous écrivez.
(Facultatif) Configurer resource.json
Le resource.json
fichier contient des informations sur les périphériques qui seront utilisés comme périphériques de ressources. Les périphériques ressources sont des appareils nécessaires pour tester certaines fonctionnalités d'un périphérique testé. Par exemple, pour tester la capacité Bluetooth d'un appareil, vous pouvez utiliser un périphérique ressource pour vérifier si votre appareil peut s'y connecter correctement. Les périphériques de ressources sont facultatifs et vous pouvez avoir besoin d'autant de périphériques de ressources que nécessaire. En tant que rédacteur de test, vous utilisez le fichier test.json pour définir les fonctionnalités du périphérique de ressources requises pour un test. Les testeurs utilisent ensuite le resource.json
fichier pour fournir un pool de périphériques de ressources dotés des fonctionnalités requises. Assurez-vous de fournir ces informations aux utilisateurs qui exécuteront les suites de tests que vous écrivez.
Les testeurs peuvent fournir ces informations à l'aide du resource.json
fichier modèle suivant situé dans le
dossier.<device-tester-extract-location>
/configs/
[ { "id": "
<pool-id>
", "features": [ { "name": "<feature-name>
", "version": "<feature-version>
", "jobSlots":<job-slots>
} ], "devices": [ { "id": "<device-id>
", "connectivity": { "protocol": "ssh | uart | docker", // ssh "ip": "<ip-address>
", "port":<port-number>
, "auth": { "method": "pki | password", "credentials": { "user": "<user-name>
", // pki "privKeyPath": "/path/to/private/key
", // password "password": "<password>
", } }, // uart "serialPort": "<serial-port>
", // docker "containerId": "<container-id>
", "containerUser": "<container-user-name>
", } } ] } ]
Tous les champs qui contiennent des valeurs sont requis, comme indiqué ici :
id
-
ID alphanumérique défini par l'utilisateur qui identifie de façon unique un ensemble d'appareils appelé un groupe d'appareils. Le matériel doit être identique pour les appareils d'un même groupe. Lorsque vous exécutez une suite de tests, les appareils du groupe sont utilisés pour paralléliser la charge de travail. Plusieurs appareils sont utilisés pour exécuter différents tests.
features
-
Facultatif. Un tableau contenant les fonctions prises en charge de l'appareil. Les informations requises dans ce champ sont définies dans les fichiers test.json de la suite de tests et déterminent les tests à exécuter et la manière de les exécuter. Si la suite de tests ne nécessite aucune fonctionnalité, ce champ n'est pas obligatoire.
features.name
-
Nom de la fonctionnalité.
features.version
-
La version fonctionnelle.
features.jobSlots
-
Paramètre pour indiquer le nombre de tests pouvant utiliser simultanément l'appareil. La valeur par défaut est
1
.
devices
-
Un ensemble d'appareils du pool à tester. Au moins un appareil est requis.
devices.id
-
Un identificateur unique défini par l'utilisateur pour l'appareil testé.
connectivity.protocol
-
Le protocole de communication utilisé pour communiquer avec cet appareil. Chaque appareil d'un pool doit utiliser le même protocole.
Actuellement, les seules valeurs prises en charge sont
ssh
etuart
pour les appareils physiques, ainsi quedocker
pour les conteneurs Docker. connectivity.ip
-
L'adresse IP de l'appareil testé.
Cette propriété s'applique uniquement si
connectivity.protocol
est défini surssh
. connectivity.port
-
Facultatif. Le numéro de port à utiliser pour les connexions SSH.
La valeur par défaut est 22.
Cette propriété s'applique uniquement si
connectivity.protocol
est défini surssh
. connectivity.auth
-
Informations d'authentification pour la connexion.
Cette propriété s'applique uniquement si
connectivity.protocol
est défini surssh
.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.password
-
Mot de passe utilisé pour se connecter à l'appareil à tester.
Cette valeur s'applique uniquement si
connectivity.auth.method
est défini surpassword
. connectivity.auth.credentials.privKeyPath
-
Chemin complet de la clé privée utilisée pour se connecter à l'appareil testé.
Cette valeur s'applique uniquement si
connectivity.auth.method
est défini surpki
. connectivity.auth.credentials.user
-
Nom d'utilisateur pour la connexion à l'appareil testé.
connectivity.serialPort
-
Facultatif. Port série auquel le périphérique est connecté.
Cette propriété s'applique uniquement si
connectivity.protocol
est défini suruart
. connectivity.containerId
-
ID de conteneur ou nom du conteneur Docker en cours de test.
Cette propriété s'applique uniquement si
connectivity.protocol
est défini surssh
. connectivity.containerUser
-
Facultatif. Le nom de l'utilisateur à l'intérieur du conteneur. La valeur par défaut est l'utilisateur indiqué dans le Dockerfile.
La valeur par défaut est 22.
Cette propriété s'applique uniquement si
connectivity.protocol
est défini surssh
.
(Facultatif) Configurer config.json
Le config.json
fichier contient des informations de configuration pour IDT. Généralement, les testeurs n'ont pas besoin de modifier ce fichier, sauf pour fournir leurs informations AWS d'identification utilisateur pour IDT et, éventuellement, pour une AWS région. Si des AWS informations d'identification avec les autorisations requises sont fournies, AWS IoT Device Tester collecte et soumet les statistiques d'utilisation àAWS. Il s'agit d'une fonctionnalité opt-in utilisée pour améliorer la fonctionnalité IDT. Pour plus d’informations, consultez Métriques d'utilisation IDT.
Les testeurs peuvent configurer leurs AWS informations d'identification de l'une des manières suivantes :
-
Fichier d'informations d'identification
IDT utilise le même fichier d'informations d'identification que l'AWS CLI. Pour de plus amples informations, veuillez consulter Fichiers de configuration et d'informations d'identification.
L'emplacement du fichier d'informations d'identification varie en fonction du système d'exploitation que vous utilisez :
-
macOS, Linux :
~/.aws/credentials
-
Windows:
C:\Users\
UserName
\.aws\credentials
-
-
Variables d'environnement
Les variables d'environnement sont des variables gérées par le système d'exploitation et utilisées par les commandes du système. Les variables définies au cours d'une session SSH ne sont pas disponibles après la fermeture de cette session. IDT peut utiliser les variables d'
AWS_SECRET_ACCESS_KEY
environnementAWS_ACCESS_KEY_ID
et pour stocker les informations d'identification AWSPour définir ces variables sous Linux, macOS ou Unix, utilisez export:
export AWS_ACCESS_KEY_ID=
<your_access_key_id>
export AWS_SECRET_ACCESS_KEY=<your_secret_access_key>
Pour définir ces variables sous Windows, utilisez set :
set AWS_ACCESS_KEY_ID=
<your_access_key_id>
set AWS_SECRET_ACCESS_KEY=<your_secret_access_key>
Pour configurer les AWS informations d'identification pour IDT, les testeurs modifient la auth
section du config.json
fichier situé dans le
dossier.<device-tester-extract-location>
/configs/
{ "log": { "location": "
logs
" }, "configFiles": { "root": "configs
", "device": "configs/device.json
" }, "testPath": "tests
", "reportPath": "results
", "awsRegion": "<region>
", "auth": { "method": "file | environment", "credentials": { "profile": "<profile-name>
" } } } ]
Tous les champs qui contiennent des valeurs sont requis, comme indiqué ici :
Note
Tous les chemins de ce fichier sont définis par rapport au < device-tester-extract-location >
.
log.location
-
Le chemin d'accès au dossier des journaux dans le répertoire
< device-tester-extract-location >
. configFiles.root
-
Le chemin d'accès au dossier contenant les fichiers de configuration.
configFiles.device
-
Le chemin d'accès au
device.json
fichier. testPath
-
Le chemin d'accès au dossier contenant les suites de tests.
reportPath
-
Le chemin d'accès au dossier qui contiendra les résultats des tests une fois qu'IDT aura exécuté une suite de tests.
awsRegion
-
Facultatif. La AWS région que les suites de tests utiliseront. Si ce paramètre n'est pas défini, les suites de tests utiliseront la région par défaut spécifiée dans chaque suite de tests.
auth.method
-
Méthode utilisée par IDT pour récupérer les AWS informations d'identification. Les valeurs prises en charge sont
file
la récupération des informations d'identification à partir d'un fichier d'informations d'identification et la récupérationenvironment
des informations d'identification à l'aide de variables d'environnement. auth.credentials.profile
-
Le profil d'informations d'identification à utiliser à partir du fichier d'informations d'identification. Cette propriété s'applique uniquement si
auth.method
est défini surfile
.