调试和运行自定义测试套件 - Amazon IoT Greengrass
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

调试和运行自定义测试套件

所需配置,IDT 可以运行您的测试套件。完整测试套件的运行时取决于测试套件的硬件和组成。作为参考,完成完整的Amazon IoT Greengrass在 Raspberry Pi 3B 上资格测试套件.

在编写测试套件时,您可以使用 IDT 在调试模式下运行测试套件,以便在运行代码之前检查代码或将其提供给测试运行者。

以调试模式运行 IDT

由于测试套件依赖 IDT 来与设备交互、提供上下文并接收结果,因此您不能在没有任何 IDT 交互的情况下简单地在 IDE 中调试测试套件。为此,IDT CLI 提供debug-test-suite命令,该命令允许您在调试模式下运行 IDT。运行以下命令查看debug-test-suite

devicetester_[linux | mac | win_x86-64] debug-test-suite -h

在调试模式下运行 IDT 时,IDT 不会实际启动测试套件或运行状态机;而是与 IDE 交互以响应从 IDE 中运行的测试套件发出的请求,并将日志打印到控制台。IDT 不会超时并等待退出,直到手动中断。在调试模式下,IDT 也不运行状态机,也不会生成任何报告文件。要调试测试套件,必须使用 IDE 提供 IDT 通常从配置 JSON 文件中获取的一些信息。确保您提供以下信息:

  • 每个测试的环境变量和参数。IDT 不会从test.json或者suite.json

  • 用于选择资源设备的参数。IDT 不会从test.json

要调试测试套件,请完成以下步骤:

  1. 创建运行测试套件所需的设置配置文件。例如,如果您的测试套件需要device.jsonresource.json, 和user data.json,请确保根据需要对其进行全部配置。

  2. 运行以下命令将 IDT 置于调试模式,并选择运行测试所需的任何设备。

    devicetester_[linux | mac | win_x86-64] debug-test-suite [options]

    运行此命令后,IDT 将等待来自测试套件的请求,然后响应它们。IDT 还生成 IDT 客户端 SDK 的案例流程所需的环境变量。

  3. 在 IDE 中,使用run或者debug配置以执行以下操作:

    1. 设置 IDT 生成的环境变量的值。

    2. 设置任何环境变量或参数的值,您在test.jsonsuite.json文件。

    3. 根据需要设置断点。

  4. 在 IDE 中运行测试套件。

    您可以根据需要调试和重新运行测试套件。IDT 在调试模式下不超时。

  5. 完成调试后,中断 IDT 以退出调试模式。

用于运行测试的 IDT CLI 命令

下一节介绍 IDT CLI 命令:

IDT v4.0.0
help

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

list-groups

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

list-suites

列出可用的测试套件。

list-supported-products

列出适用于您的 IDT 版本的支持产品,在这种情况下Amazon IoT Greengrass版本,以及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文件。

  • timeout-multiplier。 将 IDT 配置为修改test.json文件用于具有用户定义乘数的测试。

  • stop-on-first-failure。 将 IDT 配置为在第一次失败时停止执行。应将此选项与 group-id 结合使用来调试指定的测试组。

  • userdata。 设置包含运行测试套件所需的用户数据信息的文件。此参数仅在userdataRequired设置为 truesuite.json文件中的值。

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

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

在调试模式下运行测试套件。有关更多信息,请参阅 以调试模式运行 IDT