

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 執行 FreeRTOS 資格套件
<a name="run-tests"></a>

您可以使用 AWS IoT Device Tester for FreeRTOS 可執行檔與 IDT for FreeRTOS 互動。以下命令列範例會說明如何執行裝置集區 (一組相同的裝置) 的資格測試。

------
#### [ 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 上執行 IDT for FreeRTOS，請使用正斜線 (/) 指定`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` 命令列出測試群組中的測試案例。IDT for FreeRTOS 命令列選項

**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 上執行 IDT for FreeRTOS，請使用正斜線 (/) 來指定`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` 為選用參數。IDT for FreeRTOS 命令列選項

**group-id**  
(選用) 指定測試群組。

**pool-id**  
指定要測試的裝置集區。如果您只有一個裝置集區，就可以省略此選項。

**suite-id**  
(選用) 指定要執行的測試套件。

------

## IDT for FreeRTOS 命令
<a name="dt-cli-frq"></a>

IDT for FreeRTOS 命令支援下列操作：

------
#### [ 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>

隨著新版本的 IDT for FreeRTOS 資格測試發佈，或隨著您更新電路板特定的套件或裝置驅動程式，您可以使用 IDT for FreeRTOS 來測試微控制器電路板。如需後續資格，請確定您擁有最新版本的 FreeRTOS 和 IDT for FreeRTOS，並再次執行資格測試。