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à.
Rivedi i risultati e i registri dei IDT test
Questa sezione descrive il formato in cui vengono IDT generati i log della console e i report dei test.
Formato dei messaggi della console
AWS IoT Device Tester utilizza un formato standard per la stampa dei messaggi sulla console quando avvia una suite di test. Il seguente estratto mostra un esempio di messaggio di console generato da. IDT
[INFO] [2000-01-02 03:04:05]: 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
info
warn
, o.error
IDTemette unpanic
messaggiofatal
or se rileva un evento previsto che ne causa la chiusura anticipata. msg
-
Il messaggio registrato.
executionId
-
Una stringa ID univoca per il IDT processo corrente. Questo ID viene utilizzato per distinguere le singole IDT esecuzioni.
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 in IDT esecuzione. Il seguente estratto mostra un esempio di messaggio di console generato da una suite di test.
[INFO] [2000-01-02 03:04:05]: Hello world! suiteId=MyTestSuitegroupId=myTestGroup testCaseId=myTestCase deviceId=my-deviceexecutionId=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.
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 AWS 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 Device Tester schema del rapporto
awsiotdevicetester_report.xml
è un rapporto firmato che contiene le seguenti informazioni:
-
La IDT versione.
-
La versione della suite di test.
-
La firma del rapporto e la chiave utilizzate per firmare il rapporto.
-
Il dispositivo SKU e il nome del pool di dispositivi specificati nel
device.json
file. -
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 <awsproduct>
tag
name
-
Il nome del prodotto sottoposto a test.
version
-
La versione del prodotto sottoposto a test.
features
-
Le caratteristiche convalidate. Le funzionalità contrassegnate come
required
sono 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
optional
sono 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
rapporto è in JUnitXMLformatosuite-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 XML tag <testsuites>
contiene il riepilogo dell'esecuzione del test. Per esempio:
<testsuites name="MyTestSuite results" time="2299" tests="28" failures="0" errors="0" disabled="0">
Attributi utilizzati nel <testsuites>
tag
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 possibile eseguire.
disabled
-
Questo attributo non è utilizzato e si può ignorare.
In caso di fallimento o errore del test, puoi identificare il test che ha avuto esito negativo esaminando i <testsuites>
XML tag. I <testsuite>
XML tag all'interno del <testsuites>
tag mostrano il riepilogo dei risultati del test per un gruppo di test. Per 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 <testsuite>
XML tag, ci sono <testcase>
tag per ogni test eseguito per un gruppo di test. Per esempio:
<testcase classname="Security Test" name="IP Change Tests" attempts="1"></testcase>
Attributi utilizzati nel <testcase>
tag
name
-
Il nome del test.
attempts
-
Il numero di volte in cui è stato IDT eseguito il test case.
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. Per 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>