运行Amazon IoT Greengrass资格审查套 - Amazon IoT Greengrass
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Amazon IoT Greengrass Version 12023 年 6 月 30 日进入延长寿命阶段。有关更多信息,请参阅Amazon IoT Greengrass V1维护政策。在此日期之后,Amazon IoT Greengrass V1不会发布提供功能、增强功能、错误修复或安全补丁的更新。在上运行的设备Amazon IoT Greengrass V1不会受到干扰,将继续运行并连接到云端。我们强烈建议你迁移到Amazon IoT Greengrass Version 2,它补充说重要的新功能支持其他平台

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

运行Amazon IoT Greengrass资格审查套

设置所需的配置后,就可以开始测试了。完整测试套件的运行时取决于您的硬件。作为参考,在 Raspberry Pi 3B 上完成完整的测试套件大约需要 30 分钟。

以下 run-suite 命令示例介绍如何针对某个设备池运行资格测试。设备池是一组相同的设备。

IDT v3.0.0 and later
在指定的测试套件中运行所有测试组。
devicetester_[linux | mac | win_x86-64] run-suite --suite-id GGQ_1.0.0 --pool-id <pool-id>

使用 list-suites 命令列出 tests 文件夹中的测试套件。

在测试套件中运行特定的测试组。
devicetester_[linux | mac | win_x86-64] run-suite --suite-id GGQ_1.0.0 --group-id <group-id> --pool-id <pool-id>

使用 list-groups 命令列出测试套件中的测试组。

在测试组中运行特定测试用例。
devicetester_[linux | mac | win_x86-64] run-suite --group-id <group-id> --test-id <test-id>
在测试组中运行多个测试用例。
devicetester_[linux | mac | win_x86-64] run-suite --group-id <group-id> --test-id <test-id1>,<test-id2>
列出测试组中的测试用例。
devicetester_[linux | mac | win_x86-64] list-test-cases --group-id <group-id>

run-suite 命令的选项是可选的。例如,如果您的 device.json 文件中只定义了一个设备池,则可以忽略 pool-id。或者,如果您要在 tests 文件夹中运行最新的测试套件版本,则可以忽略 suite-id

注意

如果在线提供了更新的测试套件版本,IDT 会提示您。有关更多信息,请参阅 设置默认更新行为

有关 run-suite 和其他 IDT 命令的更多信息,请参阅 适用于 Amazon IoT Greengrass 的 IDT 命令

IDT v2.3.0 and earlier
在指定套件中运行所有测试组。
devicetester_[linux | mac | win_x86-64] run-suite --suite-id GGQ_1 --pool-id <pool-id>
运行特定测试组。
devicetester_[linux | mac | win_x86-64] run-suite --suite-id GGQ_1 --group-id <group-id> --pool-id <pool-id>

如果您在单个设备池上运行单个测试套件,则 suite-idpool-id 是可选的。这意味着您的 device.json 文件中只定义了一个设备池。

检查 Greengrass 的依赖关系

我们建议您运行依赖项检查程序测试组,以确保在运行相关测试组之前已安装所有 Greengrass 依赖项。例如:

  • 在运行核心资格测试组之前运行 ggcdependencies

  • 在运行特定于容器的测试组之前运行 containerdependencies

  • 在运行特定于 Docker 的测试组之前运行 dockerdependencies

  • 在运行特定于流管理器的测试组之前运行 ggcstreammanagementdependencies

设置默认更新行为

当您开始测试运行时,IDT 会在线检查是否有更新的测试套件版本。如果有,IDT 会提示您更新到最新的可用版本。您可以设置 upgrade-test-suite(或 u)标记来控制默认更新行为。有效值为:

  • y. IDT 会下载并使用最新的可用版本。

  • n (默认值). IDT 会使用 suite-id 选项中指定的版本。如果suite-id未指定,IDT 将在testsfolder。

如果您未使用 upgrade-test-suite 标记,IDT 会在有更新可用时提示您,并会等待 30 秒让您输入(yn)。如果您未输入信息,则默认为 n 并继续运行测试。

以下示例显示了此功能的常见用例:

自动使用可用于测试组的最新测试。
devicetester_linux run-suite -u y --group-id mqtt --pool-id DevicePool1
在特定测试套件版本中运行测试。
devicetester_linux run-suite -u n --suite-id GGQ_1.0.0 --group-id mqtt --pool-id DevicePool1
运行时提示更新。
devicetester_linux run-suite --pool-id DevicePool1

适用于 Amazon IoT Greengrass 的 IDT 命令

IDT 命令位于 <device-tester-extract-location>/bin 目录中。它们可以用于以下操作:

IDT v3.0.0 and later
help

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

list-groups

列出给定测试套件中的组。

list-suites

列出可用的测试套件。

list-supported-products

列出受支持的产品(在本例中为 Amazon IoT Greengrass 版本)和当前 IDT 版本的测试套件版本。

list-test-cases

列出给定测试组中的测试用例。支持以下选项:

  • group-id. 要搜索的测试组。此选项是必需的,必须指定单个组。

run-suite

对某个设备池运行一组测试。以下是一些受支持的选项:

  • suite-id. 要运行的测试套件版本。如果未指定,IDT 将使用 tests 文件夹中的最新版本。

  • group-id. 要以逗号分隔的列表形式运行的测试组。如果未指定,IDT 将运行测试套件中的所有测试组。

  • test-id. 要以逗号分隔的列表形式运行的测试用例。指定后,group-id 必须指定单个组。

  • pool-id. 要测试的设备池。如果您在 device.json 文件中定义了多个设备池,则必须指定一个池。

  • upgrade-test-suite. 控制如何处理测试套件版本更新。从 IDT v3.0.0 开始,IDT 在线检查更新的测试套件版本。有关更多信息,请参阅 测试套件版本

  • stop-on-first-failure. 将 IDT 配置为在第一次失败时停止执行。应将此选项与 group-id 结合使用来调试指定的测试组。在运行完整测试套件以生成资格认证报告时,请勿使用此选项。

  • update-idt. 设置对更新 IDT 的提示的响应。Y如果 IDT 检测到有更新的版本,输入将会停止执行测试。N因为输入将继续测试执行。

  • update-managed-policy。如果 IDT 检测到用户的托管策略未更新,输入 Y 将会停止执行测试。输入 N 将会继续执行测试。

有关 run-suite 选项的更多信息,请使用 help 选项:

devicetester_[linux | mac | win_x86-64] run-suite -h
IDT v2.3.0 and earlier
help

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

list-groups

列出给定测试套件中的组。

list-suites

列出可用的测试套件。

run-suite

对某个设备池运行一组测试。

有关 run-suite 选项的更多信息,请使用 help 选项:

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