本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
设置所需的配置后,IDT 就可以运行您的测试套件了。完整测试套件的运行时取决于硬件和测试套件的组成。作为参考,在 Raspberry Pi 3B 上完成完整的 AWS IoT Greengrass 资格测试套件大约需要 30 分钟。
在编写测试套件时,您可以使用 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
中读取此信息。
要调试您的测试套件,请完成以下步骤:
-
创建运行测试套件所需的设置配置文件。例如,如果您的测试套件需要
device.json
、resource.json
和user data.json
,请确保根据需要来配置所有测试套件。 -
运行以下命令将 IDT 置于调试模式,然后选择运行测试需要的所有设备。
devicetester_[linux | mac | win_x86-64] debug-test-suite
[options]
运行此命令后,IDT 会等待来自测试套件的请求,然后响应这些请求。IDT 还会生成 IDT 客户端软件开发工具包案例处理所需的环境变量。
-
在您的 IDE 中,使用
run
或debug
配置来执行以下操作:-
设置 IDT 生成的环境变量的值。
-
设置您在
test.json
和suite.json
文件中指定的任何环境变量或参数的值。 -
根据需要设置断点。
-
-
在 IDE 中运行测试套件。
您可以根据需要多次调试和重新运行测试套件。IDT 在调试模式下不会超时。
-
完成调试后,请中断 IDT 以退出调试模式。
用于运行测试的 IDT CLI 命令
以下小节介绍了 IDT CLI 命令。
help
-
列出有关指定命令的信息。
list-groups
-
列出给定测试套件中的组。
list-suites
-
列出可用的测试套件。
list-supported-products
-
列出您的 IDT 版本支持的产品(在本例中为 AWS IoT Greengrass 版本),以及适用于当前 IDT 版本的 AWS IoT Greengrass 资格测试套件版本。
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
。设置包含运行测试套件所需用户数据信息的文件。只有在测试套件的suite.json
文件中userdataRequired
被设置为 true 时,才需要这样做。
有关
run-suite
选项的更多信息,请使用help
选项:devicetester_
[linux | mac | win_x86-64]
run-suite -h -
debug-test-suite
-
在调试模式下运行测试套件。有关更多信息,请参阅 在调试模式下运行 IDT。