調試和運行自定義測試套件 - AWS IoT Greengrass

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 可以運行您的測試套件。完整測試套件的運行時間取決於測試套件的硬件和組成。作為參考,需要約 30 分鐘的時間完成整個AWS IoT Greengrass在 Raspberry Pi 3B 資格測試套件.

編寫測試套件時,您可以使用 IDT 在調試模式下運行測試套件,以便在運行代碼之前檢查代碼或將其提供給測試運行者。

在除錯模式中運行 IDT

由於測試套件依賴 IDT 與設備交互、提供上下文和接收結果,因此您不能簡單地在 IDE 中調試測試套件而不進行任何 IDT 交互。為此,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.jsonfile.

    3. 根據需要設定斷點。

  4. 在 IDE 中運行測試套件。

    您可以根據需要多次調試和重新運行測試套件。在除錯模式中,IDT 不會超時。

  5. 完成調試後,中斷 IDT 退出調試模式。

用於運行測試的 IDT CLI 命令

以下部分介紹 IDT CLI 命令:

IDT v4.0.0
help

列出所指定命令的相關資訊。

list-groups

列出指定測試套件中的群組。

list-suites

列出可用的測試套件。

list-supported-products

列出您的 IDT 版本所支持的產品,在這種情況下AWS IoT Greengrass版本AWS IoT Greengrass適用於當前 IDT 版本的資格測試套件版本。

list-test-cases

列出特定測試群組中的測試案例。支援下列選項:

  • group-id。 要搜尋的測試群組。此選項為必要選項,且必須指定單一群組。

run-suite

在裝置集區上執行測試套件。以下是一些常用選項:

  • suite-id。 要執行的測試套件版本。如果未指定,IDT 會使用 tests 資料夾中的最新版本。

  • group-id。 要執行的測試群組,以逗號分隔的清單。如果未指定,IDT 會執行測試套件中的所有測試群組。

  • test-id。 要執行的測試案例,以逗號分隔的清單。指定時,group-id 必須指定單一群組。

  • pool-id。 要測試的裝置集區。如果測試運行者在device.jsonfile.

  • 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