Amazon IoT Greengrass Version 1 2023 年 6 月 30 日进入延长寿命阶段。有关更多信息,请参阅 Amazon IoT Greengrass V1 维护策略。在此日期之后,将 Amazon IoT Greengrass V1 不会发布提供功能、增强功能、错误修复或安全补丁的更新。在上面运行的设备 Amazon IoT Greengrass V1 不会中断,将继续运行并连接到云端。我们强烈建议您迁移到 Amazon IoT Greengrass Version 2,这样可以添加重要的新功能并支持其他平台。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
了解结果和日志
本节介绍如何查看和解释 IDT 结果报告和日志。
查看结果
在运行时,IDT 会将错误写入控制台、日志文件和测试报告中。IDT 在完成资格测试套件后,会生成两个测试报告。可在
中找到这些报告。两个报告都捕获资格测试套件执行的结果。<device-tester-extract-location>
/results/<execution-id>
/
awsiotdevicetester_report.xml
是您提交给 Amazon 的资格测试报告,用于在 Amazon Partner 设备目录中列出您的设备。该报告包含以下元素:
-
IDT 版本。
-
所测试的 Amazon IoT Greengrass 版本。
-
device.json
文件中指定的 SKU 和设备池名称。 -
device.json
文件中指定的设备池的功能。 -
测试结果的摘要汇总。
-
按照基于设备功能(例如,本地资源访问、影子、MQTT 等)测试的库细分的测试结果。
GGQ_Result.xml
报告采用 JUnit XML 格式
-
测试结果的摘要汇总。
-
按照已测试的 Amazon IoT Greengrass 功能细分的测试结果。
解读 IDT 报告
awsiotdevicetester_report.xml
或 awsiotdevicetester_report.xml
中的报告部分列出了运行的测试以及结果。
第一个 XML 标签 <testsuites>
包含测试执行情况的摘要。例如:
<testsuites name="GGQ results" time="2299" tests="28" failures="0" errors="0" disabled="0">
<testsuites>
标签中使用的属性
name
-
测试套件的名称。
time
-
运行资格套件所用的时间(以秒为单位)。
tests
-
执行的测试数。
failures
-
已运行但未通过的测试数。
errors
-
IDT 无法执行的测试数。
disabled
-
此属性未使用,可以忽略。
awsiotdevicetester_report.xml
文件包含一个 <awsproduct>
标签,其中包含有关正测试的产品以及在运行测试套件后验证的产品功能的信息。
<awsproduct>
标签中使用的属性
name
-
所测试的产品的名称。
version
-
所测试的产品的版本。
features
-
验证的功能。标记为
required
的功能需要提交您的主板信息以供资格审核。以下代码段演示了此信息在awsiotdevicetester_report.xml
文件中的显示方式。<feature name="aws-iot-greengrass-no-container" value="supported" type="required"></feature>
标记为
optional
的功能不是资格认证所必需的。以下代码段显示了可选功能。<feature name="aws-iot-greengrass-container" value="supported" type="optional"></feature> <feature name="aws-iot-greengrass-hsi" value="not-supported" type="optional"></feature>
如果没有针对所需功能的测试失败或错误,则设备满足运行 Amazon IoT Greengrass 的技术要求并可以与 Amazon IoT 服务互操作。如果您想要在 Amazon Partner 设备目录中列出您的设备,则可以使用此报告作为资格证明。
如果出现测试失败或错误,则可以通过检查 <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 Combination (IPD + DCM) Test Context" name="Security Combination IP Change Tests sec4_test_1: Should rotate server cert when IPD disabled and following changes are made:Add CIS conn info and Add another CIS conn info" attempts="1"></testcase>>
<testcase>
标签中使用的属性
name
-
测试的名称。
attempts
-
IDT 执行测试用例的次数。
当测试失败或出现错误时,将会在 <testcase>
标签中添加包含用于故障排除的信息的 <failure>
或 <error>
标签。例如:
<testcase classname="mcu.Full_MQTT" name="AFQP_MQTT_Connect_HappyCase" attempts="1"> <failure type="Failure">Reason for the test failure</failure> <error>Reason for the test execution error</error> </testcase>
查看日志
IDT 从测试执行生成的日志位于
中。它会生成两组日志:<devicetester-extract-location>
/results/<execution-id>
/logs
test_manager.log
-
从 Amazon IoT Device Tester 的 Test Manager 组件生成的日志(例如,与配置、测试序列和报告生成相关的日志)。
<test_case_id>
.log (for example, ota.log)-
测试组的日志,包括来自所测试设备的日志。当测试失败时,将创建一个 tar.gz 文件,其中包含关于该测试的所测试设备日志(例如,
ota_prod_test_1_ggc_logs.tar.gz
)。
有关更多信息,请参阅 适用于 Amazon IoT Greengrass 的 IDT 问题排查。