View a markdown version of this page

Crea file di configurazione della suite di test IDT - FreeRTOS

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 crei i file di configurazione che includi quando scrivi una suite di test personalizzata.

File di configurazione richiesti

suite.json

Contiene informazioni sulla suite di test. 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. 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. 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. SSEConfigurare test_orchestrator.yaml.

Nota

A partire da IDT v4.5.2, 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, vedereConfigurare la macchina a stati IDT.

userdata_schema.json

Definisce lo schema del userdata.json file che i test runner possono includere nella configurazione delle impostazioni. Il userdata.json file viene utilizzato per qualsiasi informazione di configurazione aggiuntiva necessaria per eseguire il test ma non presente nel device.json file. Consulta Configura userdata_schema.json.

I file di configurazione vengono inseriti nel tuo <custom-test-suite-folder> computer come mostrato 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 dell'utente sono necessari per eseguire la suite di test. Usa il seguente modello per configurare il tuo <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 è riportato nei rapporti IDT-generated di prova.

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 includere anche il userdata_schema.json file nella cartella della suite di test.

environmentVariables

Opzionale. 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 opzionale. Usa il seguente modello per configurare il tuo <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 deve contenere caratteri di sottolineatura ()_. L'ID viene utilizzato nei report IDT-generated di test.

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

Opzionale. Impostato 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 un test case IDT eseguibile

Usa il seguente modello per configurare il tuo <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 deve contenere caratteri di sottolineatura ()_. L'ID viene utilizzato nei report IDT-generated dei test.

title

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

details

Una breve descrizione dello scopo del test case.

requireDUT

Opzionale. Impostato su true se è necessario un dispositivo per eseguire questo test, altrimenti impostato sufalse. Il valore predefinito è true. I test runner configureranno i dispositivi che useranno per eseguire il test nel loro device.json file.

requiredResources

Opzionale. 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 del 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 la quale 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

Opzionale. 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 selezionata. Se non è richiesto un numero di versione per la funzionalità, lascia vuoto questo campo.

requiredResources.features.jobSlots

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

execution.timeout

La quantità di tempo (in millisecondi) in cui IDT attende il completamento del test. Per ulteriori informazioni sull'impostazione di questo valore, vedere. Crea un test case IDT eseguibile

execution.os

Gli eseguibili del test case da eseguire in base al sistema operativo del computer host su cui è in esecuzione 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 del sistema.

execution.os.args

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

environmentVariables

Opzionale. 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 si specifica la stessa variabile di ambiente nel test.json file e nel suite.json file, il valore nel test.json file ha la precedenza.

Configurare 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 a passare attraverso tali stati fino a raggiungere lo stato finale.

Se la tua suite di test non include un orchestrator di test definito dall'utente, IDT genererà un orchestrator di test per te.

L'orchestrator di test predefinito esegue 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 tutti i gruppi di test della suite di test in ordine casuale.

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

Per ulteriori informazioni su come funziona l'IDT test orchestrator, vedere. Configura l'orchestrator di test IDT

Configura userdata_schema.json

Il userdata_schema.json file determina lo schema in base al quale i test runner forniscono i dati utente. I dati utente sono obbligatori se la suite di test richiede informazioni che non sono presenti nel device.json file. Ad esempio, i test potrebbero richiedere credenziali di Wi-Fi rete, 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 è basato sul userdata_schema.json file che includi nella suite di test.

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

  1. Nel suite.json file, impostato 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 utilizza 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. Contesto dell'orchestrator di test