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

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

使用 AWS IoT Greengrass 測試架構

Greengrass 測試架構 (GTF) 是支援 end-to-end從客戶角度自動化的建置區塊集合。 GTF使用 Cucumber 做為特徵驅動程式。 AWS IoT Greengrass 使用相同的建置區塊來驗證各種裝置上的軟體變更。如需詳細資訊,請參閱 Github 上的 Greengrass 測試架構

GTF 使用 Cucumber 實作,這是用來執行自動化測試的工具,可鼓勵元件的行為驅動開發 (BDD)。在 Cucumber 中,此系統的功能概述於稱為 的特殊檔案類型中feature。每個功能都以稱為案例的人類可讀格式描述,這些案例是可轉換為自動化測試的規格。每個案例都以一系列步驟概述,這些步驟使用稱為 Gherkin 的網域特定語言來定義此系統的互動和結果。Gherkin 步驟使用稱為步驟定義的方法連結至程式設計程式碼,該方法將規格硬佈線至測試流程。中的步驟定義GTF是使用 Java 實作。

運作方式

AWS IoT Greengrass 會將 分發GTF為包含數個 Java JAR 模組的獨立 。若要使用 GTF 來 end-to-end測試元件,您必須在 Java 專案中實作測試。在 Java 專案中新增可做為JAR相依性的測試,可讓您使用 的現有功能,GTF並透過撰寫自己的自訂測試案例來擴展測試。若要執行自訂測試案例,您可以建置您的 Java 專案,並使用中所述JAR的組態選項執行目標綠色測試框架配置選項

GTF 獨立 JAR

Greengrass 使用 Cloudfront 做為 Maven 儲存庫來託管不同版本的GTF獨立 JAR。如需GTF版本的完整清單,請參閱 GTF 版本

GTF 獨立JAR包含下列模組。不限於這些模組。您可以分別在專案中挑選和選擇每個相依性,或使用測試獨立JAR檔案一次包含所有相依性。

  • aws-greengrass-testing-resources:本單元提供在測試過程中管理 AWS 資源生命週期的摘要。您可以使用此參數來定義自訂 AWS 資源ResourceSpec,以便為您GTF建立和移除這些資源。

  • aws-greengrass-testing-platform:此模組提供測試生命週期期間受測裝置的平台層級抽象。它包含APIs用於與獨立於 平台的作業系統互動的 ,並可用於模擬在裝置 shell 中執行的命令。

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

  • aws-greengrass-testing-features:本單元包含可重複使用的常見步驟及其定義,用於在 Greengrass 環境中測試 。

變更記錄

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

版本

變更

1.2.0
新功能
  • 新增網路相關步驟,以在測試期間設定MQTT和網際網路連線。

  • 新增系統指標步驟以監控裝置RAM和CPU使用。

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

  • 測試會正常停止 Greengrass 核,而不是將其殺死。

  • 新增改進,其中GTF輪詢 AWS IoT 登入資料端點,直到可擷取物件和角色別名的登入資料。

  • 修正缺少的成品和配方目錄。此版本也會修正缺少的元件版本。

  • 修正當 Docker 映像不存在時,在 Docker 映像清除期間GTF失敗的問題。

  • 新增CURRENT關鍵字做為元件版本。

1.1.0

新功能
  • 新增使用組態安裝自訂元件的功能。這需要自訂元件的配方。

  • 新增使用自訂組態更新本機部署的功能。

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

1.0.0

初始版本。