選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

設定測試執行器的設定

焦點模式
設定測試執行器的設定 - AWS IoT Greengrass

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

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

若要執行自訂測試套件,測試執行器必須根據他們想要執行的測試套件來設定其設定。根據位於 <device-tester-extract-location>/configs/ 資料夾中的組態檔案範本來指定設定。如有需要,測試執行器也必須設定 IDT 用來連線至 AWS 雲端的 AWS 登入資料。

身為測試寫入器,您需要設定這些檔案來偵錯測試套件。您必須提供測試執行器的說明,以便他們可以視需要設定下列設定來執行您的測試套件。

設定 device.json

device.json 檔案包含執行測試之裝置的相關資訊 (例如 IP 地址、登入資訊、作業系統和 CPU 架構)。

測試執行器可以使用位於 <device-tester-extract-location>/configs/ 資料夾的下列範本device.json檔案提供此資訊。

[ { "id": "<pool-id>", "sku": "<pool-sku>", "features": [ { "name": "<feature-name>", "value": "<feature-value>", "configs": [ { "name": "<config-name>", "value": "<config-value>" } ], } ], "devices": [ { "id": "<device-id>", "connectivity": { "protocol": "ssh | uart | docker", // ssh "ip": "<ip-address>", "port": <port-number>, "auth": { "method": "pki | password", "credentials": { "user": "<user-name>", // pki "privKeyPath": "/path/to/private/key", // password "password": "<password>", } }, // uart "serialPort": "<serial-port>", // docker "containerId": "<container-id>", "containerUser": "<container-user-name>", } } ] } ]

如下所述,包含值的所有欄位皆為必要:

id

使用者定義的英數字元 ID,可唯一識別裝置的集合,稱為「裝置集區」。屬於同一個集區的裝置必須有相同的硬體。當您執行測試套件,集區中的裝置會用來將工作負載平行化。多個裝置用來執行不同的測試。

sku

可唯一識別測試裝置的英數字元值。SKU 用於追蹤合格裝置。

注意

如果您想要在 AWS Partner Device Catalog 中列出您的電路板,您在此處指定的 SKU 必須符合您在列出程序中使用的 SKU。

features

選用。包含裝置支援功能的陣列。裝置功能是您在測試套件中設定的使用者定義值。您必須提供測試執行器有關要包含在 device.json 檔案中的功能名稱和值的資訊。例如,如果您想要測試可做為其他裝置的 MQTT 伺服器運作的裝置,則可以設定測試邏輯來驗證名為 之功能的特定支援層級MQTT_QOS。測試執行器提供此功能名稱,並將功能值設定為其裝置支援的 QOS 層級。您可以從具有devicePool.features查詢的 IDT 內容,或從具有pool.features查詢的測試協調器內容擷取提供的資訊。

features.name

功能的名稱。

features.value

支援的功能值。

features.configs

如有需要,此功能的組態設定。

features.config.name

組態設定的名稱。

features.config.value

支援的設定值。

devices

要測試之集區中的裝置陣列。至少需要一個裝置。

devices.id

使用者定義的唯一識別符,用於識別要測試的裝置。

connectivity.protocol

用來與此裝置通訊的通訊協定。集區中的每個裝置都必須使用相同的通訊協定。

目前,唯一支援的值是實體裝置的 ssh和 ,以及 uart Docker 容器docker的 和 。

connectivity.ip

要測試之裝置的 IP 位址。

只有當 connectivity.protocol 設為 ssh 時,才會套用此屬性。

connectivity.port

選用。用於 SSH 連線的連接埠號碼。

預設值為 22。

只有當 connectivity.protocol 設為 ssh 時,才會套用此屬性。

connectivity.auth

連線的驗證資訊。

只有當 connectivity.protocol 設為 ssh 時,才會套用此屬性。

connectivity.auth.method

用來透過指定的連線通訊協定存取裝置的驗證方法。

支援的值如下:

  • pki

  • password

connectivity.auth.credentials

用於驗證的燈入資料。

connectivity.auth.credentials.password

用於登入要測試裝置的密碼。

只有當 connectivity.auth.method 設為 password 時,才會套用此值。

connectivity.auth.credentials.privKeyPath

用來登入待測裝置之私有金鑰的完整路徑。

只有當 connectivity.auth.method 設為 pki 時,才會套用此值。

connectivity.auth.credentials.user

登入要測試之裝置的使用者名稱。

connectivity.serialPort

選用。裝置所連接的序列連接埠。

只有當 connectivity.protocol 設為 uart 時,才會套用此屬性。

connectivity.containerId

要測試之 Docker 容器的容器 ID 或名稱。

只有當 connectivity.protocol 設為 ssh 時,才會套用此屬性。

connectivity.containerUser

選用。容器內使用者的名稱。預設值是 Dockerfile 中提供的使用者。

預設值為 22。

只有當 connectivity.protocol 設為 ssh 時,才會套用此屬性。

注意

若要檢查測試執行器是否設定不正確的測試裝置連線,您可以從測試協調器內容pool.Devices[0].Connectivity.Protocol擷取,並將其與Choice狀態中的預期值進行比較。如果使用不正確的通訊協定,則使用 LogMessage 狀態列印訊息並轉換為 Fail 狀態。

或者,您可以使用錯誤處理程式碼來報告不正確裝置類型的測試失敗。

(選用) 設定 userdata.json

userdata.json 檔案包含測試套件所需的任何其他資訊,但未在device.json檔案中指定。此檔案的格式取決於測試套件中定義的userdata_scheme.json檔案。如果您是測試寫入器,請務必將此資訊提供給將執行您所寫入測試套件的使用者。

(選用) 設定 resource.json

resource.json 檔案包含將用作資源裝置的任何裝置的相關資訊。資源裝置是測試待測裝置的特定功能所需的裝置。例如,若要測試裝置的 Bluetooth 功能,您可以使用資源裝置來測試您的裝置是否能夠成功連線。資源裝置是選用的,您可以視需要要求任意數量的資源裝置。身為測試寫入器,您可以使用 test.json 檔案來定義測試所需的資源裝置功能。然後,測試執行器會使用 resource.json 檔案來提供具有所需功能的資源裝置集區。請務必將此資訊提供給將執行您寫入之測試套件的使用者。

測試執行器可以使用位於 <device-tester-extract-location>/configs/ 資料夾的下列範本resource.json檔案提供此資訊。

[ { "id": "<pool-id>", "features": [ { "name": "<feature-name>", "version": "<feature-version>", "jobSlots": <job-slots> } ], "devices": [ { "id": "<device-id>", "connectivity": { "protocol": "ssh | uart | docker", // ssh "ip": "<ip-address>", "port": <port-number>, "auth": { "method": "pki | password", "credentials": { "user": "<user-name>", // pki "privKeyPath": "/path/to/private/key", // password "password": "<password>", } }, // uart "serialPort": "<serial-port>", // docker "containerId": "<container-id>", "containerUser": "<container-user-name>", } } ] } ]

如下所述,包含值的所有欄位皆為必要:

id

使用者定義的英數字元 ID,可唯一識別裝置的集合,稱為「裝置集區」。屬於同一個集區的裝置必須有相同的硬體。當您執行測試套件,集區中的裝置會用來將工作負載平行化。多個裝置用來執行不同的測試。

features

選用。包含裝置支援功能的陣列。此欄位所需的資訊會在測試套件的 test.json 檔案中定義,並決定要執行哪些測試,以及如何執行這些測試。如果測試套件不需要任何功能,則不需要此欄位。

features.name

功能的名稱。

features.version

功能版本。

features.jobSlots

設定 以指示可以同時使用裝置的測試數量。預設值為 1

devices

要測試之集區中的裝置陣列。至少需要一個裝置。

devices.id

使用者定義的唯一識別符,用於識別要測試的裝置。

connectivity.protocol

用來與此裝置通訊的通訊協定。集區中的每個裝置都必須使用相同的通訊協定。

目前,唯一支援的值是實體裝置的 ssh和 ,以及 uart Docker 容器docker的 和 。

connectivity.ip

要測試之裝置的 IP 位址。

只有當 connectivity.protocol 設為 ssh 時,才會套用此屬性。

connectivity.port

選用。用於 SSH 連線的連接埠號碼。

預設值為 22。

只有當 connectivity.protocol 設為 ssh 時,才會套用此屬性。

connectivity.auth

連線的驗證資訊。

只有當 connectivity.protocol 設為 ssh 時,才會套用此屬性。

connectivity.auth.method

用來透過指定的連線通訊協定存取裝置的驗證方法。

支援的值如下:

  • pki

  • password

connectivity.auth.credentials

用於驗證的燈入資料。

connectivity.auth.credentials.password

用於登入要測試裝置的密碼。

只有當 connectivity.auth.method 設為 password 時,才會套用此值。

connectivity.auth.credentials.privKeyPath

用來登入待測裝置之私有金鑰的完整路徑。

只有當 connectivity.auth.method 設為 pki 時,才會套用此值。

connectivity.auth.credentials.user

登入要測試之裝置的使用者名稱。

connectivity.serialPort

選用。裝置所連接的序列連接埠。

只有當 connectivity.protocol 設為 uart 時,才會套用此屬性。

connectivity.containerId

要測試之 Docker 容器的容器 ID 或名稱。

只有當 connectivity.protocol 設為 ssh 時,才會套用此屬性。

connectivity.containerUser

選用。容器內使用者的名稱。預設值是 Dockerfile 中提供的使用者。

預設值為 22。

只有當 connectivity.protocol 設為 ssh 時,才會套用此屬性。

(選用) 設定 config.json

config.json 檔案包含 IDT 的組態資訊。一般而言,除了提供 IDT AWS 的使用者登入資料,以及選擇性 AWS 的區域之外,測試執行器不需要修改此檔案。如果 AWS 提供具有必要許可的登入資料, 會 AWS IoT Device Tester 收集並提交用量指標給 AWS。這是選擇加入功能,用於改善 IDT 功能。如需詳細資訊,請參閱IDT 用量指標

測試執行器可以透過下列其中一種方式設定其 AWS 登入資料:

  • 憑證檔案

    IDT 會使用與 AWS CLI相同的登入資料檔案。如需詳細資訊,請參閱組態與登入資料檔案

    登入資料檔案的位置會有所不同,取決於您使用的作業系統:

    • macOS, Linux: ~/.aws/credentials

    • Windows:C:\Users\UserName\.aws\credentials

  • 環境變數

    環境變數是由作業系統維護且由系統命令使用的變數。在 SSH 工作階段期間定義的變數在該工作階段關閉後無法使用。IDT 可以使用 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY 環境變數來存放 AWS 登入資料

    若要在 Linux、macOS 或 Unix 上設定這些變數,請使用 export

    export AWS_ACCESS_KEY_ID=<your_access_key_id> export AWS_SECRET_ACCESS_KEY=<your_secret_access_key>

    若要在 Windows 上設定這些變數,請使用 set

    set AWS_ACCESS_KEY_ID=<your_access_key_id> set AWS_SECRET_ACCESS_KEY=<your_secret_access_key>

若要設定 IDT 的 AWS 登入資料,測試執行器會編輯位於 <device-tester-extract-location>/configs/ 資料夾之 config.json 檔案中的 auth區段。

{ "log": { "location": "logs" }, "configFiles": { "root": "configs", "device": "configs/device.json" }, "testPath": "tests", "reportPath": "results", "awsRegion": "<region>", "auth": { "method": "file | environment", "credentials": { "profile": "<profile-name>" } } } ]

如下所述,包含值的所有欄位皆為必要:

注意

此檔案中的所有路徑都是相對於 <device-tester-extract-location> 定義。

log.location

device-tester-extract-location> 中日誌資料夾的路徑。

configFiles.root

包含組態檔案的資料夾路徑。

configFiles.device

device.json 檔案的路徑。

testPath

包含測試套件的資料夾路徑。

reportPath

IDT 執行測試套件後,將包含測試結果的資料夾路徑。

awsRegion

選用。測試套件將使用 AWS 的區域。如果未設定,則測試套件將使用每個測試套件中指定的預設區域。

auth.method

IDT 用來擷取 AWS 登入資料的方法。支援的值file是從登入資料檔案擷取登入資料,以及使用環境變數environment擷取登入資料。

auth.credentials.profile

從登入資料檔案使用的登入資料設定檔。只有當 auth.method 設為 file 時,才會套用此屬性。

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。