Crea file di configurazione della suite di test IDT - AWS IoT Greengrass

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Crea file di configurazione della suite di test IDT

Questa sezione descrive i formati in cui create i file di configurazione da includere quando scrivete una suite di test personalizzata.

File di configurazione richiesti
suite.json

Contiene informazioni sulla suite di test. Per informazioni, consulta Configura suite.json.

group.json

Contiene informazioni su un gruppo di test. È necessario creare un group.json file per ogni gruppo di test nella suite di test. Per informazioni, consulta Configura group.json.

test.json

Contiene informazioni su un test case. È necessario creare un test.json file per ogni test case nella suite di test. Per informazioni, consulta Configura test.json.

File di configurazione opzionali
test_orchestrator.yaml o state_machine.json

Definisce come vengono eseguiti i test quando IDT esegue la suite di test. Configura test_orchestrator.yamlSse.

Nota

A partire da IDT v4.5.1, si utilizza il test_orchestrator.yaml file per definire il flusso di lavoro del test. Nelle versioni precedenti di IDT, si utilizza il file. state_machine.json Per informazioni sulla macchina a stati, vedereConfigurazione della macchina a stato IDT.

userdata_schema.json

Definisce lo schema per il userdata.jsonfile che i test runner possono includere nella configurazione delle impostazioni. Il userdata.json file viene utilizzato per tutte le informazioni di configurazione aggiuntive necessarie per eseguire il test ma che non sono presenti nel device.json file. Per informazioni, consulta Configura userdata_schema.json.

I file di configurazione vengono inseriti nel file <custom-test-suite-folder> come illustrato qui.

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

Configura suite.json

Il suite.json file imposta le variabili di ambiente e determina se i dati utente sono necessari per eseguire la suite di test. Utilizzate il seguente modello per configurare il <custom-test-suite-folder>/suite/suite.json file:

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

Tutti i campi che includono valori sono obbligatori, come descritto di seguito:

id

Un ID univoco definito dall'utente per la suite di test. Il valore di id deve corrispondere al nome della cartella della suite di test in cui si trova il suite.json file. Il nome e la versione della suite devono inoltre soddisfare i seguenti requisiti:

  • <suite-name>non può contenere caratteri di sottolineatura.

  • <suite-version>è indicato comex.x.x, dove x è un numero.

L'ID viene visualizzato nei rapporti di test generati da IDT.

title

Un nome definito dall'utente per il prodotto o la funzionalità testata da questa suite di test. Il nome viene visualizzato nella CLI IDT per i test runner.

details

Una breve descrizione dello scopo della suite di test.

userDataRequired

Definisce se i test runner devono includere informazioni personalizzate in un userdata.json file. Se imposti questo valore sutrue, devi anche includere il userdata_schema.jsonfile nella cartella della suite di test.

environmentVariables

Facoltativo. Una serie di variabili di ambiente da impostare per questa suite di test.

environmentVariables.key

Il nome della variabile di ambiente.

environmentVariables.value

Il valore della variabile di ambiente.

Configura group.json

Il group.json file definisce se un gruppo di test è obbligatorio o facoltativo. Utilizzate il seguente modello per configurare il <custom-test-suite-folder>/suite/<test-group>/group.json file:

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

Tutti i campi che includono valori sono obbligatori, come descritto di seguito:

id

Un ID univoco definito dall'utente per il gruppo di test. Il valore di id deve corrispondere al nome della cartella del gruppo di test in cui si trova il group.json file e non può contenere caratteri di sottolineatura ()_. L'ID viene utilizzato nei report di test generati da IDT.

title

Un nome descrittivo per il gruppo di test. Il nome viene visualizzato nella CLI IDT per i test runner.

details

Una breve descrizione dello scopo del gruppo di test.

optional

Facoltativo. Imposta true per visualizzare questo gruppo di test come gruppo opzionale dopo che IDT ha terminato l'esecuzione dei test richiesti. Il valore predefinito è false.

Configura test.json

Il test.json file determina gli eseguibili del test case e le variabili di ambiente utilizzate da un test case. Per ulteriori informazioni sulla creazione di eseguibili per i test case, vedere. Crea file eseguibili per test case IDT

Utilizzate il seguente modello per configurare il <custom-test-suite-folder>/suite/<test-group>/<test-case>/test.json file:

{ "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>", } ] }

Tutti i campi che includono valori sono obbligatori, come descritto di seguito:

id

Un ID univoco definito dall'utente per il test case. Il valore di id deve corrispondere al nome della cartella del test case in cui si trova il test.json file e non può contenere caratteri di sottolineatura ()_. L'ID viene utilizzato nei report di test generati da IDT.

title

Un nome descrittivo per il test case. Il nome viene visualizzato nella CLI IDT per i test runner.

details

Una breve descrizione dello scopo del test case.

requireDUT

Facoltativo. Imposta true se è necessario un dispositivo per eseguire questo test, altrimenti imposta sufalse. Il valore predefinito è true. I test runner configureranno i dispositivi che useranno per eseguire il test nel proprio device.json file.

requiredResources

Facoltativo. Un array che fornisce informazioni sui dispositivi di risorse necessari per eseguire questo test.

requiredResources.name

Il nome univoco da assegnare al dispositivo di risorse durante l'esecuzione di questo test.

requiredResources.features

Una serie di funzionalità del dispositivo di risorse definite dall'utente.

requiredResources.features.name

Il nome della funzionalità. La funzionalità del dispositivo per cui si desidera utilizzare questo dispositivo. Questo nome viene confrontato con il nome della funzionalità fornito dal test runner nel resource.json file.

requiredResources.features.version

Facoltativo. La versione della funzionalità. Questo valore viene confrontato con la versione della funzionalità fornita dal test runner nel resource.json file. Se non viene fornita una versione, la funzionalità non viene verificata. Se non è richiesto un numero di versione per la funzionalità, lascia vuoto questo campo.

requiredResources.features.jobSlots

Facoltativo. Il numero di test simultanei che questa funzionalità può supportare. Il valore predefinito è 1. Se desideri che IDT utilizzi dispositivi distinti per le singole funzionalità, ti consigliamo di impostare questo valore su. 1

execution.timeout

La quantità di tempo (in millisecondi) che IDT attende prima che il test finisca. Per ulteriori informazioni sull'impostazione di questo valore, vedere. Crea file eseguibili per test case IDT

execution.os

Gli eseguibili del test case da eseguire in base al sistema operativo del computer host che esegue IDT. I valori supportati sono linux, mac e win.

execution.os.cmd

Il percorso dell'eseguibile del test case che si desidera eseguire per il sistema operativo specificato. Questa posizione deve trovarsi nel percorso di sistema.

execution.os.args

Facoltativo. Gli argomenti da fornire per eseguire l'eseguibile del test case.

environmentVariables

Facoltativo. Una serie di variabili di ambiente impostate per questo test case.

environmentVariables.key

Il nome della variabile di ambiente.

environmentVariables.value

Il valore della variabile di ambiente.

Nota

Se specificate la stessa variabile di ambiente nel test.json file e nel suite.json file, il valore nel test.json file ha la precedenza.

Configura test_orchestrator.yaml

Un orchestrator di test è un costrutto che controlla il flusso di esecuzione della suite di test. Determina lo stato iniziale di una suite di test, gestisce le transizioni di stato in base a regole definite dall'utente e continua la transizione attraverso tali stati fino a raggiungere lo stato finale.

Se la vostra suite di test non include un orchestratore di test definito dall'utente, IDT genererà un orchestratore di test per voi.

L'orchestrator di test predefinito svolge le seguenti funzioni:

  • Fornisce ai test runner la possibilità di selezionare ed eseguire gruppi di test specifici, anziché l'intera suite di test.

  • Se non sono selezionati gruppi di test specifici, esegue ogni gruppo di test nella suite di test in ordine casuale.

  • Genera report e stampa un riepilogo della console che mostra i risultati dei test per ogni gruppo di test e test case.

Per ulteriori informazioni sul funzionamento dell'IDT test orchestrator, consulta. Configurazione dell'orchestratore di test IDT

Configura userdata_schema.json

Il userdata_schema.json file determina lo schema in cui i test runner forniscono i dati degli utenti. I dati utente sono necessari se la suite di test richiede informazioni che non sono presenti nel device.json file. Ad esempio, i test potrebbero richiedere credenziali di rete Wi-Fi, porte aperte specifiche o certificati che un utente deve fornire. Queste informazioni possono essere fornite a IDT come parametro di input chiamatouserdata, il cui valore è un userdata.json file, che gli utenti creano nella propria <device-tester-extract-location>/config cartella. Il formato del userdata.json file si basa sul userdata_schema.json file incluso nella suite di test.

Per indicare che i test runner devono fornire un userdata.json file:

  1. Nel suite.json file, imposta suuserDataRequired. true

  2. Nel tuo<custom-test-suite-folder>, crea un userdata_schema.json file.

  3. Modifica il userdata_schema.json file per creare uno schema JSON IETF Draft v4 valido.

Quando IDT esegue la suite di test, legge automaticamente lo schema e lo usa per convalidare il userdata.json file fornito dal test runner. Se valido, il contenuto del userdata.json file è disponibile sia nel contesto IDT che nel contesto del test orchestrator.