使用 AWS IoT Greengrass 測試框架 - AWS IoT Greengrass

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 AWS IoT Greengrass 測試框架

Greengrass 測試框架(GTF)是支持從客戶角度 end-to-end自動化的構建模塊的集合。GTF使用黃瓜作為功能驅動程序。 AWS IoT Greengrass 使用相同的建置區塊來限定各種裝置上的軟體變更。有關更多信息,請參閱 Greengrass itHub 上的綠色測試框架

GTF使用黃瓜,用於運行自動化測試的工具來實現,以鼓勵組件的行為驅動開發(BDD)。在黃瓜,這個系統的功能在一個名為特殊類型的文件概述feature。每個功能被稱為場景是可以轉換成自動化測試規範的人類可讀格式描述。每個場景被概述為一系列使用稱為小黃瓜特定領域的語言定義該系統的相互作用和結果的步驟。一個小黃瓜步驟被鏈接到使用一種稱為步驟定義的方法,其硬線規範到測試流程的編程代碼。中的步驟定義GTF是使用 Java 來實作。

運作方式

AWS IoT Greengrass GTF作為由多個 Java 模塊組成JAR的獨立發布。要用GTF於組件的 end-to-end 測試,您必須在 Java 項目中實現測試。將測試作JAR為 Java 專案中的相依性加入,可讓您使用的現有功能,GTF並透過撰寫您自己的自訂測試案例來擴充它。要運行自定義測試用例,您可以構建 Java 項目並使用中描述的JAR配置選項運行目標綠色測試框架配置選項

GTF獨立 JAR

Greengrass 使用雲前線作為一個 Maven 存儲庫來託管不同版本的獨立版本。GTF JAR如需完整GTF版本清單,請參閱GTF版本。

GTF獨立JAR包括以下模塊。它不僅限於這些模塊。您可以在項目中單獨選擇並選擇每個依賴項,也可以使用測試獨立JAR文件一次包含所有這些依賴項。

  • aws-greengrass-testing-resources:此模塊提供抽象,用於在測試過程中管理 AWS 資源的生命週期。您可以使用它來使用ResourceSpec抽象來定義您的自定義 AWS 資源,GTF以便為您創建和刪除這些資源。

  • aws-greengrass-testing-platform:此模塊為測試生命週期期間被測設備提供平台級抽象。它包含APIs用於與獨立於平台的操作系統進行交互,並且可用於模擬在設備外殼中運行的命令。

  • aws-greengrass-testing-components:此模組包含用於測試 Greengrass 核心功能 (例如部署和其他功能) 的範例元件。IPC

  • aws-greengrass-testing-features:此模塊由可重複使用的通用步驟及其定義組成,這些步驟用於在 Greengrass 環境中進行測試。

變更記錄

下表說明每個版本的變更GTF。如需詳細資訊,請參閱上的 [GTF發行] 頁面 GitHub。

版本

變更

1.2.0
新功能
  • 在測試期間添加與網絡相關的步驟以配置MQTT和 Internet 網絡連接。

  • 添加系統度量步驟以監視設備RAM和CPU使用。

錯誤修復和改進
  • Greengrass CLI 本機部署步驟會重試,直到它成功為止。

  • 測試優雅地停止 Greengrass 核,而不是殺死它。

  • 新增GTF輪詢 AWS IoT 認證端點的改進,直到可擷取物件和角色別名的認證為止。

  • 修復丟失的工件和配方目錄。此版本還修復了缺少的組件版本。

  • 修復了如果 docker 映像不存在,則在碼 docker 映像清理期間GTF失敗的問題。

  • 添加CURRENT關鍵字作為組件的版本。

1.1.0

新功能
  • 添加了使用配置安裝自定義組件的功能。這需要自定義組件的配方。

  • 添加使用自訂規劃更新本機部署的功能。

錯誤修復和改進
  • 修復了日誌內容GTF版本不一致的問題。

1.0.0

初始版本。