本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
教程:构建并运行示例 IDT 测试套件
Amazon IoT Device Tester下载内容包括示例测试套件的源代码。您可以完成本教程来构建和运行示例测试套件,以了解如何使用Amazon IoT Device Tester FreeRTOS 运行自定义测试套件。尽管本教程使用 SSH,但学习如何在 FreeRTOS 设备上使用还是很有Amazon IoT Device Tester用的。
在本教程中,您将完成以下步骤:
先决条件
要完成本教程,您需要:
-
主机要求
-
最新版本的 Amazon IoT Device Tester
-
Python
3.7 或更 要检查计算机上安装过 Pyate的版本,请运行以下命令:
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
-
为 IDT 配置设备信息
配置您的设备信息,以便 IDT 运行测试。必须使用以下信息更新位于该
文件夹中的<device-tester-extract-location>
/configsdevice.json
模板。
[ { "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
文件夹内的文件夹中创建示例测试套件。
查看<device-tester-extract-location>
/testsIDTSampleSuitePython_1.0.0
文件夹中的文件以了解示例测试套件的结构,并查看测试用例可执行文件和测试配置文件的各种示例。
示例测试套件包含 python 源代码。请勿在测试套件代码中包含敏感信息。
下一步:使用 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 Amazon 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 从主机计算机连接到您的设备。