AWS IoT Greengrass Version 1 於 2023 年 6 月 30 日進入延長壽命階段。如需詳細資訊,請參閱 AWS IoT Greengrass V1 維護政策 。在此日期之後, AWS IoT Greengrass V1 不會發佈提供功能、增強功能、錯誤修正或安全修補程式的更新。在 上執行的裝置 AWS IoT Greengrass V1 不會中斷,並會繼續運作和連線至雲端。我們強烈建議您遷移至 AWS IoT Greengrass Version 2,這會新增重要的新功能,並支援其他平台 。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
教學課程:建置並執行 IDT 測試套件
所以此AWS IoT設備測試程序下載包括示例測試套件的源代碼。您可以完成本教程來構建和運行示例測試套件,以瞭解如何使用AWS IoT適用於 的 Device TesterAWS IoT Greengrass來執行自定義測試套件。
在本教學課程中,您會完成下列步驟:
先決條件
為了完成本教學,您需要以下項目:
-
主機電腦要求
-
的最新版本AWS IoTDevice Tester
-
蟒蛇
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
與樹莓 Pi OS. 請務必設定SSH 在你的樹莓派遠程連接到它。
-
配置 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 從主機連接到您的設備。