Avviso di fine del supporto: il 7 ottobre 2026, AWS il supporto per. AWS IoT Greengrass Version 1 Dopo il 7 ottobre 2026, non potrai più accedere alle risorse. AWS IoT Greengrass V1 Per ulteriori informazioni, visita Migrate from. AWS IoT Greengrass Version 1
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à.
Esamina i risultati e i registri dei test IDT
Questa sezione descrive il formato in cui IDT genera i log della console e i report dei test.
Formato dei messaggi della console
AWS IoT Device Tester utilizza un formato standard per stampare i messaggi sulla console quando avvia una suite di test. Il seguente estratto mostra un esempio di messaggio di console generato da IDT.
time="2000-01-02T03:04:05-07:00" level=info msg=Using suite: MyTestSuite_1.0.0 executionId=9a52f362-1227-11eb-86c9-8c8590419f30
La maggior parte dei messaggi della console è composta dai seguenti campi:
time-
Un timestamp ISO 8601 completo per l'evento registrato.
level-
Il livello del messaggio per l'evento registrato. In genere, il livello del messaggio registrato è uno dei
infowarn, o.errorIDT emette unpanicmessaggiofatalor se rileva un evento previsto che ne causa la chiusura anticipata. msg-
Il messaggio registrato.
executionId-
Una stringa ID univoca per il processo IDT corrente. Questo ID viene utilizzato per distinguere le singole esecuzioni IDT.
I messaggi della console generati da una suite di test forniscono informazioni aggiuntive sul dispositivo sottoposto a test e sulla suite di test, sul gruppo di test e sui casi di test eseguiti da IDT. Il seguente estratto mostra un esempio di messaggio di console generato da una suite di test.
time="2000-01-02T03:04:05-07:00" level=info msg=Hello world! suiteId=MyTestSuite groupId=myTestGroup testCaseId=myTestCase deviceId=my-device executionId=9a52f362-1227-11eb-86c9-8c8590419f30
La parte specifica del messaggio della console di test contiene i seguenti campi:
suiteId-
Il nome della suite di test attualmente in esecuzione.
groupId-
L'ID del gruppo di test attualmente in esecuzione.
testCaseId-
L'ID del test case attualmente in esecuzione.
deviceId-
Un ID del dispositivo sottoposto a test utilizzato dal test case corrente.
Per stampare un riepilogo del test sulla console quando un IDT termina l'esecuzione di un test, è necessario includere uno Reportstato nella macchina a stati. Il riepilogo del test contiene informazioni sulla suite di test, i risultati dei test per ogni gruppo eseguito e le posizioni dei log e dei file di report generati. L'esempio seguente mostra un messaggio di riepilogo del test.
========== Test Summary ========== Execution Time: 5m00s Tests Completed: 4 Tests Passed: 3 Tests Failed: 1 Tests Skipped: 0 ---------------------------------- Test Groups: GroupA: PASSED GroupB: FAILED ---------------------------------- Failed Tests: Group Name: GroupB Test Name: TestB1 Reason: Something bad happened ---------------------------------- Path to IoT Device Tester Report: /path/to/awsiotdevicetester_report.xml Path to Test Execution Logs: /path/to/logs Path to Aggregated JUnit Report: /path/to/MyTestSuite_Report.xml
AWS IoT Schema di report di Device Tester
awsiotdevicetester_report.xmlè un rapporto firmato che contiene le seguenti informazioni:
-
La versione di IDT.
-
La versione della suite di test.
-
La firma del rapporto e la chiave utilizzate per firmare il rapporto.
-
Lo SKU del dispositivo e il nome del pool di dispositivi specificati nel
device.jsonfile. -
La versione del prodotto e le funzionalità del dispositivo testate.
-
Il riepilogo aggregato dei risultati dei test. Queste informazioni sono le stesse contenute nel
file.suite-name_report.xml
<apnreport> <awsiotdevicetesterversion>idt-version</awsiotdevicetesterversion> <testsuiteversion>test-suite-version</testsuiteversion> <signature>signature</signature> <keyname>keyname</keyname> <session> <testsession>execution-id</testsession> <starttime>start-time</starttime> <endtime>end-time</endtime> </session> <awsproduct> <name>product-name</name> <version>product-version</version> <features> <feature name="<feature-name>" value="supported | not-supported | <feature-value>" type="optional | required"/> </features> </awsproduct> <device> <sku>device-sku</sku> <name>device-name</name> <features> <feature name="<feature-name>" value="<feature-value>"/> </features> <executionMethod>ssh | uart | docker</executionMethod> </device> <devenvironment> <os name="<os-name>"/> </devenvironment> <report><suite-name-report-contents></report> </apnreport>
Il file awsiotdevicetester_report.xml contiene un tag <awsproduct> con le informazioni relative al prodotto sottoposto a test e le caratteristiche del prodotto che sono state convalidate dopo l'esecuzione di una suite di test.
Attributi utilizzati nel tag <awsproduct >
name-
Il nome del prodotto sottoposto a test.
version-
La versione del prodotto sottoposto a test.
features-
Le caratteristiche convalidate. Le funzionalità contrassegnate come
requiredsono necessarie affinché la suite di test possa convalidare il dispositivo. Il seguente frammento di codice mostra come questa informazione viene visualizzata nel fileawsiotdevicetester_report.xml.<feature name="ssh" value="supported" type="required"></feature>Le funzionalità contrassegnate come non
optionalsono richieste per la convalida. I seguenti snippet mostrano caratteristiche facoltative.<feature name="hsi" value="supported" type="optional"></feature> <feature name="mqtt" value="not-supported" type="optional"></feature>
Schema di report della suite di test
Il report è in formato XML JUnitsuite-name_Result.xml
<testsuites name="<suite-name>results" time="<run-duration>" tests="<number-of-test>" failures="<number-of-tests>" skipped="<number-of-tests>" errors="<number-of-tests>" disabled="0"> <testsuite name="<test-group-id>" package="" tests="<number-of-tests>" failures="<number-of-tests>" skipped="<number-of-tests>" errors="<number-of-tests>" disabled="0"> <!--success--> <testcase classname="<classname>" name="<name>" time="<run-duration>"/> <!--failure--> <testcase classname="<classname>" name="<name>" time="<run-duration>"> <failure type="<failure-type>">reason</failure> </testcase> <!--skipped--> <testcase classname="<classname>" name="<name>" time="<run-duration>"> <skipped>reason</skipped> </testcase> <!--error--> <testcase classname="<classname>" name="<name>" time="<run-duration>"> <error>reason</error> </testcase> </testsuite> </testsuites>
La sezione del rapporto in entrambe le sezioni awsiotdevicetester_report.xml o elenca i test eseguiti e i risultati.suite-name_report.xml
Il primo tag XML <testsuites> contiene il riepilogo dell'esecuzione dei test. Esempio:
<testsuites name="MyTestSuite results" time="2299" tests="28" failures="0" errors="0" disabled="0">
Attributi utilizzati nel tag <testsuites >
name-
Il nome della suite di test.
time-
Il tempo impiegato, in secondi, per eseguire la suite di test.
tests-
Il numero di test eseguiti.
failures-
Il numero di test eseguiti ma non superati.
errors-
Il numero di test che IDT non è stato in grado di eseguire.
disabled-
Questo attributo non è utilizzato e si può ignorare.
In caso di esiti negativi o errori nei test, puoi identificare il test non riuscito esaminando i tag XML <testsuites>. I tag XML <testsuite> all'interno del tag <testsuites> mostrano il riepilogo dei risultati dei test per un gruppo di test. Esempio:
<testsuite name="combination" package="" tests="1" failures="0" time="161" disabled="0" errors="0" skipped="0">
Il formato è simile al tag <testsuites>, ma con un attributo skipped che non viene utilizzato e che è possibile ignorare. All'interno di ogni tag XML <testsuite> ci sono tag <testcase> per ciascuno dei test eseguiti per un gruppo di test. Esempio:
<testcase classname="Security Test" name="IP Change Tests" attempts="1"></testcase>>
Attributi utilizzati nel tag <testcase >
name-
Il nome del test.
attempts-
Il numero di volte che IDT ha eseguito il test.
Quando un test non riesce o si verifica un errore, i tag <failure> o <error> vengono aggiunti al tag <testcase> con informazioni per la risoluzione dei problemi. Esempio:
<testcase classname="mcu.Full_MQTT" name="MQTT_TestCase" attempts="1"> <failure type="Failure">Reason for the test failure</failure> <error>Reason for the test execution error</error> </testcase>