翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
IDT テスト結果とログを確認する
このセクションでは、 がコンソールログとテストレポートIDTを生成する形式について説明します。
コンソールメッセージの形式
AWS IoT Device Tester は、テストスイートを起動するときにコンソールにメッセージを印刷するための標準形式を使用します。次の抜粋は、 によって生成されたコンソールメッセージの例を示していますIDT。
[INFO] [2000-01-02 03:04:05]: Using suite: MyTestSuite_1.0.0 executionId=9a52f362-1227-11eb-86c9-8c8590419f30
コンソールメッセージの大半は、次のフィールドで設定されます。
time
-
ログに記録されたイベントの完全な 8601 ISO タイムスタンプ。
level
-
ログに記録されたイベントのメッセージレベル。通常、ログに記録されるメッセージレベルは、
info
、warn
、またはerror
のいずれかです。IDT は、予期されるイベントが発生して早期に終了した場合、fatal
またはpanic
メッセージを発行します。 msg
-
ログに記録されたメッセージ。
executionId
-
現在のIDTプロセスの一意の ID 文字列。この ID は、個々のIDT実行を区別するために使用されます。
テストスイートから生成されたコンソールメッセージは、テスト対象のデバイスと、IDT実行されるテストスイート、テストグループ、およびテストケースに関する追加情報を提供します。次の抜粋は、テストスイートから生成されたコンソールメッセージの例を示しています。
[INFO] [2000-01-02 03:04:05]: Hello world! suiteId=MyTestSuitegroupId=myTestGroup testCaseId=myTestCase deviceId=my-deviceexecutionId=9a52f362-1227-11eb-86c9-8c8590419f30
コンソールメッセージのテストスイート固有の部分には、次のフィールドが含まれています。
suiteId
-
現在実行中のテストスイートの名前。
groupId
-
現在実行中のテストグループの ID。
testCaseId
-
現在実行中のテストケースの ID。
deviceId
-
現在のテストケースが使用しているテスト対象デバイスの ID。
テストサマリーには、テストスイート、実行された各グループのテスト結果、生成されたログファイルとレポートファイルの場所に関する情報が含まれています。次の例は、テストサマリーメッセージを示しています。
========== 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 レポートスキーマ
awsiotdevicetester_report.xml
は、次の情報が含まれる署名済みレポートです。
-
IDT バージョン。
-
テストスイートのバージョン。
-
レポートの署名に使用されるレポートの署名とキー。
-
device.json
ファイルで指定されたデバイスSKUとデバイスプール名。 -
テストされた製品のバージョンとデバイスの機能。
-
テスト結果の概要の集計。この情報は、
ファイルに含まれている情報と同じです。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>
awsiotdevicetester_report.xml
ファイルには、テスト対象の製品および一連のテストの実行後に検証された製品機能に関する情報を含む <awsproduct>
タグが含まれています。
<awsproduct>
タグで使用される属性
name
-
テスト対象の製品の名前。
version
-
テスト対象の製品のバージョン。
features
-
検証された機能です。
required
としてマークされている機能は、テストスイートがデバイスを検証するために必要です。次のスニペットは、この情報がawsiotdevicetester_report.xml
ファイルで表示される方法を示します。<feature name="ssh" value="supported" type="required"></feature>
optional
としてマークされている機能は、検証に必須ではありません。次のスニペットは、オプションの機能を示しています。<feature name="hsi" value="supported" type="optional"></feature> <feature name="mqtt" value="not-supported" type="optional"></feature>
テストスイートのレポートスキーマ
レポートは JUnit のXML形式suite-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>
awsiotdevicetester_report.xml
と
両方のレポートセクションには、実行されたテストとその結果が一覧表示されます。suite-name
_report.xml
最初のXMLタグ<testsuites>
には、テスト実行の概要が含まれます。例:
<testsuites name="MyTestSuite results" time="2299" tests="28" failures="0" errors="0" disabled="0">
<testsuites>
タグで使用される属性
name
-
テストスイートの名前。
time
-
スイートの実行所要時間 (秒)。
tests
-
実行されたテストの数。
failures
-
実行されたテストのうち、合格しなかったものの数。
errors
-
実行IDTできなかったテストの数。
disabled
-
この属性は使用されていないため無視できます。
テストに失敗またはエラーが発生した場合は、<testsuites>
XMLタグを確認することで、失敗したテストを特定できます。<testsuites>
タグ内の<testsuite>
XMLタグには、テストグループのテスト結果の概要が表示されます。例:
<testsuite name="combination" package="" tests="1" failures="0" time="161" disabled="0" errors="0" skipped="0">
形式は <testsuites>
タグと似ていますが、使用されていないため無視できる skipped
という属性があります。各<testsuite>
XMLタグ内には、テストグループに対して実行された各テストの<testcase>
タグがあります。例:
<testcase classname="Security Test" name="IP Change Tests" attempts="1"></testcase>
<testcase>
タグで使用される属性
name
-
テストの名前。
attempts
-
テストケースIDTを実行した回数。
テストに障害やエラーが発生した場合、<failure>
タグまたは <error>
タグがトラブルシューティングのための情報とともに <testcase>
タグに追加されます。例:
<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>