Esegui il debug ed esegui suite di test personalizzate - AWS IoT Greengrass

AWS IoT Greengrass Version 1 è entrato nella fase di estensione della vita utile il 30 giugno 2023. Per ulteriori informazioni, consulta la politica AWS IoT Greengrass V1 di manutenzione. Dopo questa data, AWS IoT Greengrass V1 non rilascerà aggiornamenti che forniscano funzionalità, miglioramenti, correzioni di bug o patch di sicurezza. I dispositivi che funzionano AWS IoT Greengrass V1 non subiranno interruzioni e continueranno a funzionare e a connettersi al cloud. Ti consigliamo vivamente di eseguire la migrazione a AWS IoT Greengrass Version 2, che aggiunge nuove importanti funzionalità e supporto per piattaforme aggiuntive.

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à.

Esegui il debug ed esegui suite di test personalizzate

Dopo ilconfigurazione richiestaè impostato, IDT può eseguire la suite di test. Il runtime della suite di test completa dipende dall'hardware e dalla composizione della suite di test. Per riferimento, per completare il completamento completo sono necessari circa 30 minutiAWS IoT Greengrasssuite di test di qualificazione su un Raspberry Pi 3B.

Mentre scrivi la suite di test, puoi usare IDT per eseguire la suite di test in modalità di debug per controllare il codice prima di eseguirlo o fornirlo ai runner di test.

Esegui IDT in modalità di debug

Poiché le suite di test dipendono dall'IDT per interagire con i dispositivi, fornire il contesto e ricevere risultati, non è possibile eseguire il debug delle suite di test in un IDE senza alcuna interazione IDT. A tale scopo, la CLI IDT fornisce ildebug-test-suitecomando che consente di eseguire IDT in modalità di debug. Eseguire questo comando per visualizzare le opzioni disponibili perdebug-test-suite:

devicetester_[linux | mac | win_x86-64] debug-test-suite -h

Quando si esegue IDT in modalità di debug, IDT non avvia effettivamente la suite di test o esegue la macchina a stato; invece, interagisce con l'IDE per rispondere alle richieste effettuate dalla suite di test in esecuzione nell'IDE e stampa i registri sulla console. IDT non esegue il timeout e aspetta di uscire fino all'interruzione manuale. In modalità di debug, IDT inoltre non esegue la macchina a stato e non genera alcun file di report. Per eseguire il debug della suite di test, è necessario utilizzare l'IDE per fornire alcune informazioni che IDT solitamente ottiene dai file JSON di configurazione. Assicurarsi di indicare le informazioni riportate qui di seguito:

  • Variabili e argomenti di ambiente per ogni test. IDT non leggerà queste informazioni datest.jsonosuite.json.

  • Argomenti per selezionare i dispositivi di risorse. IDT non leggerà queste informazioni datest.json.

Per eseguire il debug delle suite di test, completare questa procedura:

  1. Creare i file di configurazione delle impostazioni necessari per eseguire la suite di test. Ad esempio, se la suite di test richiede ildevice.json,resource.json, euser data.json, assicurati di configurarli tutti secondo necessità.

  2. Eseguire il seguente comando per posizionare IDT in modalità di debug e selezionare tutti i dispositivi necessari per eseguire il test.

    devicetester_[linux | mac | win_x86-64] debug-test-suite [options]

    Dopo aver eseguito questo comando, IDT attende le richieste dalla suite di test e quindi risponde. IDT genera inoltre le variabili di ambiente necessarie per il processo del caso per IDT Client SDK.

  3. Nel tuo IDE, usa ilrunodebugconfigurazione per eseguire le operazioni seguenti:

    1. Imposta i valori delle variabili d'ambiente generate da IDT.

    2. Imposta il valore di qualsiasi variabile o argomento di ambiente specificato nel tuotest.jsonesuite.jsonfile.

    3. Impostare i punti di interruzione secondo necessità.

  4. Esegui la suite di test nel tuo IDE.

    È possibile eseguire il debug e rieseguire la suite di test tutte le volte necessarie. IDT non esegue il timeout in modalità di debug.

  5. Dopo aver completato il debug, interrompi IDT per uscire dalla modalità di debug.

Comandi IDT CLI per eseguire test

Nella sezione seguente vengono descritti i comandi della CLI IDT:

IDT v4.0.0
help

Elenca le informazioni sul comando specificato.

list-groups

Elenca i gruppi in una determinata suite di test.

list-suites

Elenca le suite di test disponibili.

list-supported-products

Elenca i prodotti supportati per la tua versione di IDT, in questo casoAWS IoT GreengrassVersioni eAWS IoT GreengrassVersioni della suite di test di qualificazione disponibili per la versione IDT corrente.

list-test-cases

Elenca i casi di test in un determinato gruppo di test. È supportata la seguente opzione:

  • group-id. Il gruppo di test da ricercare. Questa opzione è obbligatoria e deve specificare un singolo gruppo.

run-suite

Esegue una suite di test in un determinato pool di dispositivi. Di seguito sono riportate alcune opzioni comunemente utilizzate:

  • suite-id. La versione della suite di test da eseguire. Se non specificato, IDT utilizza la versione più recente nella cartella tests.

  • group-id. I gruppi di test da eseguire, come elenco separato da virgole. Se non specificato, IDT esegue tutti i gruppi di test nella suite di test.

  • test-id. I casi di test da eseguire, come un elenco separato da virgole. Quando specificato, group-id deve specificare un singolo gruppo.

  • pool-id. Il pool di dispositivi da testare. I test runner devono specificare un pool se nel pool di dispositivi sono stati definiti più pool di dispositividevice.jsonfile.

  • timeout-multiplier. Configura IDT per modificare il timeout di esecuzione del test specificato neltest.jsonfile per un test con un moltiplicatore definito dall'utente.

  • stop-on-first-failure. Configura IDT per l’interruzione dell'esecuzione al primo errore. Questa opzione deve essere utilizzata con group-id per eseguire il debug dei gruppi di test specificati.

  • userdata. Imposta il file che contiene le informazioni sui dati utente necessarie per eseguire la suite di test. È obbligatorio solo seuserdataRequiredè impostato su true nelsuite.jsonfile per la suite di test.

Per ulteriori informazioni sulle opzioni run-suite, utilizzare l'opzione help:

devicetester_[linux | mac | win_x86-64] run-suite -h
debug-test-suite

Eseguire la suite di test in modalità di debug. Per ulteriori informazioni, consultare Esegui IDT in modalità di debug.