

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

# 运行 FreeRTOS 资格认证套件
<a name="run-tests"></a>

你可以使用 for FreeRTOS 的可执行文件与 FreeRTOS 的 IDT 进行交互。 AWS IoT Device Tester 以下命令行示例向您显示如何针对某个设备池（一组相同的设备）运行资格测试。

------
#### [ IDT v3.0.0 and later ]

```
devicetester_[linux | mac | win] run-suite  \
    --suite-id suite-id  \
    --group-id group-id  \
    --pool-id your-device-pool \
    --test-id test-id  \
    --upgrade-test-suite y|n  \
    --update-idt y|n  \
    --update-managed-policy y|n  \
    --userdata userdata.json
```

对某个设备池运行一组测试。`userdata.json` 文件必须位于 `devicetester_extract_location/devicetester_afreertos_[win|mac|linux]/configs/` 目录中。

**注意**  
如果您在 Windows 上运行适用于 FreeRTOS 的 IDT，请使用正斜杠 (/) 指定 `userdata.json` 文件的路径。

使用以下命令运行特定测试组：

```
devicetester_[linux | mac | win] run-suite  \
    --suite-id FRQ_1.0.1  \
    --group-id group-id  \
    --pool-id pool-id  \
    --userdata userdata.json
```

如果您在单个设备池上（即仅在 `device.json` 文件中定义了一个设备池）运行单个测试套件，则 `suite-id` 和 `pool-id` 参数为可选。

使用以下命令运行测试组中的特定测试用例：

```
devicetester_[linux | mac | win_x86-64] run-suite  \
    --group-id group-id  \
    --test-id test-id
```

您可以使用 `list-test-cases` 命令列出测试组中的测试用例。适用于 FreeRTOS 的 IDT 命令行选项

**group-id**  
（可选）要以逗号分隔的列表形式运行的测试组。如果未指定，IDT 将运行测试套件中的所有测试组。

**pool-id**  
（可选）要测试的设备池。如果您在 `device.json` 中定义多个设备池，则需要执行此操作。如果您只有一个设备池，则可以省略此选项。

**suite-id**  
（可选）要运行的测试套件版本。如果未指定，IDT 将在系统上使用测试目录中的最新版本。  
从 IDT v3.0.0 开始，IDT 在线检查较新的测试套件。有关更多信息，请参阅 [测试套件版本](idt-test-suite-versions.md)。

**test-id**  
（可选）要以逗号分隔的列表形式运行的测试。如果指定，则 `group-id` 必须指定单个组。  

**Example**  

```
devicetester_[linux | mac | win_x86-64] run-suite --group-id mqtt --test-id mqtt_test
```

**update-idt**  
（可选）如果未设置此参数且有较新的 IDT 版本可用，则系统将提示您更新 IDT。如果将此参数设置为 `Y`，则 IDT 将在检测到有更新版本可用时停止执行测试。如果将此参数设置为 `N`，IDT 将继续执行测试。

**update-managed-policy**  
（可选）如果未使用此参数且 IDT 检测到您的托管策略未使用 up-to-date，则系统将提示您更新托管策略。如果将此参数设置为`Y`，则 IDT 将在检测到您的托管策略未 up-to-date被执行时停止测试执行。如果将此参数设置为 `N`，IDT 将继续执行测试。

**upgrade-test-suite**  
（可选）如果未使用，并且较新的测试套件版本可用，系统将提示您下载该版本。要隐藏提示，请指定 `y` 以始终下载最新的测试套件，或者指定 `n` 以使用系统上指定的测试套件或最新版本。  

**Example**  
**示例**  
要始终下载并使用最新的测试套件，请使用以下命令。  

```
devicetester_[linux | mac | win_x86-64] run-suite --userdata userdata file --group-id group ID --upgrade-test-suite y
```
要使用系统上的最新测试套件，请使用以下命令。  

```
devicetester_[linux | mac | win_x86-64] run-suite --userdata userdata file --group-id group ID --upgrade-test-suite n
```

**h**  
使用帮助选项了解有关 `run-suite` 选项的更多信息。  

**Example**  
**示例**  

```
devicetester_[linux | mac | win_x86-64] run-suite -h
```

------
#### [ IDT v1.7.0 and earlier ]

```
devicetester_[linux | mac | win] run-suite  \
    --suite-id suite-id  \
    --pool-id your-device-pool  \
    --userdata userdata.json
```

`userdata.json` 文件应位于 `devicetester_extract_location/devicetester_afreertos_[win|mac|linux]/configs/` 目录中。

**注意**  
如果您在 Windows 上运行适用于 FreeRTOS 的 IDT，请使用正斜杠 (/) 指定 `userdata.json` 文件的路径。

使用以下命令运行特定测试组。

```
devicetester_[linux | mac | win] run-suite  \
    --suite-id FRQ_1 --group-id group-id  \
    --pool-id pool-id  \
    --userdata userdata.json
```

如果您在单个设备池上（即仅在 `device.json` 文件中定义了一个设备池）运行单个测试套件，则 `suite-id` 和 `pool-id` 为可选。适用于 FreeRTOS 的 IDT 命令行选项

**group-id**  
（可选）指定测试组。

**pool-id**  
指定要测试的设备池。如果您只有一个设备池，则可以省略此选项。

**suite-id**  
（可选）指定要运行的测试套件。

------

## 适用于 FreeRTOS 命令的 IDT
<a name="dt-cli-frq"></a>

适用于 FreeRTOS 的 IDT 命令支持以下操作：

------
#### [ IDT v3.0.0 and later ]

**`help`**  
列出有关指定命令的信息。

**`list-groups`**  
列出给定套件中的组。

**`list-suites`**  
列出可用套件。

**`list-supported-products`**  
列出支持的产品和测试套件版本。

**`list-supported-versions`**  
列出当前 IDT 版本支持的 FreeRTOS 和测试套件版本。

**`list-test-cases`**  
列出指定组中的测试用例。

**`run-suite`**  
对某个设备池运行一组测试。  
使用 `--suite-id` 选项可以指定测试套件版本，省略它可以使用系统上的最新版本。  
使用 `--test-id` 运行单个测试用例。  

**Example**  

```
devicetester_[linux | mac | win_x86-64] run-suite --group-id mqtt --test-id mqtt_test
```
有关选项的完整列表，请参阅 [运行 FreeRTOS 资格认证套件](#run-tests)。  
从 IDT v3.0.0 开始，IDT 在线检查较新的测试套件。有关更多信息，请参阅 [测试套件版本](idt-test-suite-versions.md)。

------
#### [ IDT v1.7.0 and earlier ]

**`help`**  
列出有关指定命令的信息。

**`list-groups`**  
列出给定套件中的组。

**`list-suites`**  
列出可用套件。

**`run-suite`**  
对某个设备池运行一组测试。

------

## 用于重新确定资格的测试
<a name="requal-test"></a>

随着适用于 FreeRTOS 的 IDT 资格认证测试的新版本发布，或者在您更新特定于主板的程序包或设备驱动程序时，您可以使用适用于 FreeRTOS 的 IDT 来测试微控制器主板。对于后续资格，请确保您具有 FreeRTOS 和适用于 FreeRTOS 的 IDT 的最新版本并再次运行资格认证测试。