Amazon IoT Greengrass Version 1在 2023 年 6 月 30 日之前,将不再接收功能更新,并且将仅收到安全补丁和错误修复。有关更多信息,请参阅Amazon IoT Greengrass V1维护时段。我们强烈建议您迁移到Amazon IoT Greengrass Version 2,这增加了重要的新功能并支持其他平台。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
教程:构建并运行示例 IDT 测试套件
这些区域有:Amazon IoT设备测试器下载包括示例测试套件的源代码。你可以完成本教程来构建和运行示例测试套件,以了解如何使用Amazon IoT适用于 的 Device TesterAmazon IoT Greengrass运行自定义测试套件。
在本教程中,您将完成以下步骤:
先决条件
要完成本教程,您需要:
-
主机要求
-
最新版本的Amazon IoTDevice Tester
-
Python
3.7 或更高版本 要检查计算机上安装的 Python 版本,请运行以下命令:
python3 --version
在 Windows 上,如果使用此命令返回错误,则使用
python --version
相反。如果返回的版本号为 3.7 或更高,则在 Powershell 终端中运行以下命令以设置python3
作为您的别名python
命令。Set-Alias -Name "python3" -Value "python"
如果没有返回版本信息或者版本号小于 3.7,请按照中的说明进行操作正在下载 Python
安装 Python 3.7+。有关更多信息,请参阅 。Python 文档 . -
验证
urllib3
已正确安装,请运行以下命令:python3 -c 'import urllib3'
如果
urllib3
请运行以下命令进行安装:python3 -m pip install urllib3
-
-
设备要求
-
具有 Linux 操作系统且与主机相同网络的网络连接的设备。
建议使用Raspberry Pi
使用树莓派 OS。确保设置SSH 在 Raspberry Pi 上远程连接到它。
-
为 IDT 配置设备信息
为 IDT 配置设备信息以运行测试。您必须更新device.json
模板位于
包含以下信息的文件夹。<device-tester-extract-location>
/configs
[ { "id": "pool", "sku": "N/A", "devices": [ { "id": "
<device-id>
", "connectivity": { "protocol": "ssh", "ip": "<ip-address>
", "port": "<port>
", "auth": { "method": "pki | password", "credentials": { "user": "<user-name>
", "privKeyPath": "/path/to/private/key
", "password": "<password>
" } } } } ] } ]
在devices
对象,请提供以下信息:
id
-
设备用户定义的唯一标识符。
connectivity.ip
-
设备的 IP 地址。
connectivity.port
-
可选。用于与设备的 SSH 连接的端口号。
connectivity.auth
-
连接的身份验证信息。
此属性仅在
connectivity.protocol
设置为ssh
时适用。connectivity.auth.method
-
用于通过给定的连接协议访问设备的身份验证方法。
支持的值为:
-
pki
-
password
-
connectivity.auth.credentials
-
用于身份验证的凭证。
connectivity.auth.credentials.user
-
用于登录设备的用户名。
connectivity.auth.credentials.privKeyPath
-
用于登录设备的私有密钥的完整路径。
此值仅在
connectivity.auth.method
设置为pki
时适用。 devices.connectivity.auth.credentials.password
-
用于登录设备的密码。
此值仅在
connectivity.auth.method
设置为password
时适用。
注意
只有当 method
设置为 pki
时才指定 privKeyPath
。
只有当 method
设置为 password
时才指定 password
。
构建示例测试套件
这些区域有:
文件夹中包含示例配置文件、源代码和 IDT Client SDK,您可以使用提供的构建脚本将这些文件组合到测试套件中。以下目录树显示了这些示例文件的位置:<device-tester-extract-location>
/samples/python
<device-tester-extract-location>
├── ... ├── tests ├── samples │ ├── ... │ └── python │ ├── configuration │ ├── src │ └── build-scripts │ ├── build.sh │ └── build.ps1 └── sdks ├── ... └── python └── idt_client
要构建测试套件,请在主机上运行以下命令:
这将在IDTSampleSuitePython_1.0.0
中的文件夹
folder。查看中的文件<device-tester-extract-location>
/testsIDTSampleSuitePython_1.0.0
文件夹以了解示例测试套件的结构方式,并查看测试用例可执行文件和测试配置 JSON 文件的各种示例。
下一步: 使用 IDT 可以运行示例测试套件那是你创造的。
使用 IDT 运行示例测试套件
要运行示例测试套件,请在主机上运行以下命令:
cd
<device-tester-extract-location>
/bin ./devicetester_[linux | mac | win_x86-64]
run-suite --suite-id IDTSampleSuitePython
IDT 运行示例测试套件并将结果流式传输到控制台。测试结束运行后,您会看到以下信息:
========== Test Summary ========== Execution Time: 5s Tests Completed: 4 Tests Passed: 4 Tests Failed: 0 Tests Skipped: 0 ---------------------------------- Test Groups: sample_group: PASSED ---------------------------------- Path to IoT Device Tester Report: /path/to/devicetester/results/87e673c6-1226-11eb-9269-8c8590419f30/awsiotdevicetester_report.xml Path to Test Execution Logs: /path/to/devicetester/results/87e673c6-1226-11eb-9269-8c8590419f30/logs Path to Aggregated JUnit Report: /path/to/devicetester/results/87e673c6-1226-11eb-9269-8c8590419f30/IDTSampleSuitePython_Report.xml
问题排查
在完成教程中,请使用以下信息帮助解决所有问题。
测试用例未成功运行
如果测试未成功运行,IDT 会将错误日志流式传输到控制台,以帮助您对测试运行进行故障排除。确保您满足所有先决条件在本教程中。
无法连接到所测试设备
请验证以下内容:
-
您的
device.json
文件包含正确的 IP 地址、端口和身份验证信息。 -
您可以从主机通过 SSH 连接到设备。