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-id
和 pool-id
是可选的。这意味着您的 device.json
文件中只定义了一个设备池。
检查 Greengrass 的依赖关系
我们建议您运行依赖项检查程序测试组,以确保在运行相关测试组之前已安装所有 Greengrass 依赖项。例如:
-
在运行核心资格测试组之前运行 ggcdependencies
。
-
在运行特定于容器的测试组之前运行 containerdependencies
。
-
在运行特定于 Docker 的测试组之前运行 dockerdependencies
。
-
在运行特定于流管理器的测试组之前运行 ggcstreammanagementdependencies
。
设置默认更新行为
当您开始测试运行时,IDT 会在线检查是否有更新的测试套件版本。如果有,IDT 会提示您更新到最新的可用版本。您可以设置 upgrade-test-suite
(或 u
)标记来控制默认更新行为。有效值为:
如果您未使用 upgrade-test-suite
标记,IDT 会在有更新可用时提示您,并会等待 30 秒让您输入(y
或 n
)。如果您未输入信息,则默认为 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
-
列出给定测试组中的测试用例。支持以下选项:
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