

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 了解结果和日志
<a name="results-logs"></a>

本节介绍如何查看和解释 IDT 结果报告和日志。

要对错误进行故障排查，请参阅[V2 版 IDT 故障排除 Amazon IoT Greengrass](idt-troubleshooting.md)。

## 查看结果
<a name="view-results"></a>

在运行时，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）测试的库细分的测试结果。

`GGV2Q_Result.xml` 报告采用 [JUnit XML 格式](https://llg.cubic.org/docs/junit/)。您可以将它集成到持续集成和开发平台，例如 [Jenkins](https://jenkins.io/)、[Bamboo](https://www.atlassian.com/software/bamboo) 等。该报告包含以下元素：
+ 测试结果的摘要汇总。
+ 按照已测试的 Amazon IoT Greengrass 功能细分的测试结果。

## 解析 Amazon IoT Device Tester 结果
<a name="interpreting-results-gg"></a>

`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` 文件中的显示方式。  

```
<name="aws-iot-greengrass-v2-core" value="supported" type="required"></feature>
```

如果没有针对所需功能的测试失败或错误，则设备满足运行 Amazon IoT Greengrass 的技术要求并可以与 Amazon IoT 服务互操作。如果您想要在 Amazon Partner 设备目录中列出您的设备，则可以使用此报告作为资格证明。

如果出现测试失败或错误，则可以通过检查 `<testsuites>` XML 标签来确定失败的测试。`<testsuite>` 标签内的 `<testsuites>` 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 运行测试用例的次数。

当测试失败或出现错误时，将会在 `<failure>` 标签中添加包含用于故障排除的信息的 `<error>` 或 `<testcase>` 标签。例如：

```
<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>
```

## 查看日志
<a name="view-logs-gg"></a>

IDT 从测试运行生成的日志位于 `{{<devicetester-extract-location>}}/results/{{<execution-id>}}/logs` 中。它会生成两组日志：

`test_manager.log`  
从 Amazon IoT Device Tester 的 Test Manager 组件生成的日志（例如，与配置、测试序列和报告生成相关的日志）。

`{{<test-case-id>}}.log (for example, lambdaDeploymentTest.log)`  
测试组内测试用例的日志，包括来自所测试设备的日志。从 IDT v4.2.0 开始，IDT 会将每个测试用例的测试日志归类到 `{{<devicetester-extract-location>}}/results/{{<execution-id>}}/logs/{{<test-group-id>/}}` 目录下的单独 {{<test-case-id>}} 文件夹中。