本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立 IDT 測試套件設定檔
本節說明您在撰寫自訂測試套件時所包含的組態檔案所使用的格式。
必要的組態檔案
可選配置文件
test_orchestrator.yaml
或state_machine.json
-
定義 IDT 執行測試套件時如何執行測試。上交所設定測試協調工具。
注意
從 IDT v4.5.1 開始,您可以使用
test_orchestrator.yaml
檔案來定義測試工作流程。在舊版 IDT 中,您可以使用該state_machine.json
檔案。如需狀態機的相關資訊,請參閱配置 IDT 狀態機。 userdata_schema.json
-
定義測試運行程序可以包含在其設置配置中的userdata.json文件的模式。該
userdata.json
文件用於運行測試所需的任何其他配置信息,但不存在於device.json
文件中。請參閱 配置用戶數據模式。
配置文件放置在您的
,如下所示。<custom-test-suite-folder>
<custom-test-suite-folder>
└── suite ├── suite.json ├── test_orchestrator.yaml ├── userdata_schema.json ├──<test-group-folder>
├── group.json ├──<test-case-folder>
└── test.json
設定套件
該suite.json
文件設置環境變量,並確定是否需要用戶數據來運行測試套件。使用下列範本來設定
檔案:<custom-test-suite-folder>
/suite/suite.json
{ "id": "
<suite-name>_<suite-version>
", "title": "<suite-title>
", "details": "<suite-details>
", "userDataRequired": true | false, "environmentVariables": [ { "key": "<name>
", "value": "<value>
", }, ... { "key": "<name>
", "value": "<value>
", } ] }
如下所述,包含值的所有欄位皆為必要:
id
-
測試套件的唯一使用者定義 ID。的值
id
必須與檔案所在的測試套suite.json
件資料夾名稱相符。套件名稱和套件版本也必須符合下列需求:-
不能包含底線。<suite-name>
-
被表示為<suite-version>
,其中x.x.x
x
是一個數字。
ID 會顯示在 IDT 產生的測試報告中。
-
title
-
此測試套件所測試之產品或功能的使用者定義名稱。測試執行程式的名稱會顯示在 IDT CLI 中。
details
-
測試套件用途的簡短描述。
userDataRequired
-
定義測試執行程式是否需要在
userdata.json
檔案中包含自訂資訊。如果將此值設定為true
,則還必須在測試套userdata_schema.json件資料夾中包含該檔案。 environmentVariables
-
選用。要為此測試套件設置的環境變量數組。
environmentVariables.key
-
環境變數的名稱。
environmentVariables.value
-
環境變數的值。
設定群組
該group.json
文件定義測試組是必需的還是可選的。使用下列範本來設定
檔案:<custom-test-suite-folder>
/suite/<test-group>
/group.json
{ "id": "
<group-id>
", "title": "<group-title>
", "details": "<group-details>
", "optional": true | false, }
如下所述,包含值的所有欄位皆為必要:
id
-
測試群組的唯一使用者定義 ID。的值
id
必須符合group.json
檔案所在之測試群組資料夾的名稱,且不能包含底線 (_
)。ID 會用於 IDT 產生的測試報告中。 title
-
測試群組的描述性名稱。測試執行程式的名稱會顯示在 IDT CLI 中。
details
-
測試群組用途的簡短描述。
optional
-
選用。設定
true
為可在 IDT 完成執行必要測試後,將此測試群組顯示為選用群組。預設值為false
。
配置測試
該test.json
文件確定測試用例可執行文件和由測試用例使用的環境變量。如需建立測試案例可執行檔的詳細資訊,請參閱創建 IDT 測試用例可執行文件。
使用下列範本來設定
檔案:<custom-test-suite-folder>
/suite/<test-group>
/<test-case>
/test.json
{ "id": "
<test-id>
", "title": "<test-title>
", "details": "<test-details>
", "requireDUT": true | false, "requiredResources": [ { "name": "<resource-name>
", "features": [ { "name": "<feature-name>
", "version": "<feature-version>
", "jobSlots":<job-slots>
} ] } ], "execution": { "timeout":<timeout>
, "mac": { "cmd": "/path/to/executable
", "args": [ "<argument>
" ], }, "linux": { "cmd": "/path/to/executable
", "args": [ "<argument>
" ], }, "win": { "cmd": "/path/to/executable
", "args": [ "<argument>
" ] } }, "environmentVariables": [ { "key": "<name>
", "value": "<value>
", } ] }
如下所述,包含值的所有欄位皆為必要:
id
-
測試用例的唯一用戶定義 ID。的值
id
必須與檔案所在之測試test.json
案例資料夾的名稱相符,且不能包含底線 (_
)。ID 會用於 IDT 產生的測試報告中。 title
-
測試用例的描述性名稱。測試執行程式的名稱會顯示在 IDT CLI 中。
details
-
測試用例目的的簡短描述。
requireDUT
-
選用。設定為是
true
否需要裝置才能執行此測試,否則將設定為false
。預設值為true
。測試運行者將配置他們將用於在其device.json
文件中運行測試的設備。 requiredResources
-
選用。陣列,提供執行此測試所需資源裝置的相關資訊。
requiredResources.name
-
此測試運行時為資源設備提供的唯一名稱。
requiredResources.features
-
使用者定義的資源裝置功能陣列。
requiredResources.features.name
-
特徵的名稱。您要使用此裝置的裝置功能。此名稱與
resource.json
文件中測試運行器提供的功能名稱匹配。 requiredResources.features.version
-
選用。功能的版本。該值與
resource.json
文件中的測試運行程序提供的功能版本匹配。如果未提供版本,則不檢查該功能。如果功能不需要版本號碼,請將此欄位保留空白。 requiredResources.features.jobSlots
-
選用。此功能可支援的同時測試次數。預設值為
1
。如果您希望 IDT 針對個別功能使用不同的裝置,建議您將1
此值設定為。
execution.timeout
-
IDT 等待測試完成執行的時間 (以毫秒為單位)。若要取得有關設定此值的更多資訊,請參閱創建 IDT 測試用例可執行文件。
execution.
os
-
根據執行 IDT 之主機電腦的作業系統,要執行的測試案例可執行檔。支援的值為
linux
、mac
和win
。execution.
os
.cmd-
您要針對指定作業系統執行的測試案例可執行檔路徑。此位置必須位於系統路徑中。
execution.
os
.args-
選用。要提供執行測試案例可執行檔的引數。
environmentVariables
-
選用。為此測試用例設置的環境變量數組。
environmentVariables.key
-
環境變數的名稱。
environmentVariables.value
-
環境變數的值。
注意
如果您在
test.json
檔案和檔案中指定相同的環境變數,則test.json
檔案中的值優先。suite.json
設定測試協調工具
測試協調器是一種控制測試套件執行流程的構造。它會判斷測試套件的開始狀態、根據使用者定義的規則管理狀態轉換,並繼續透過這些狀態轉換,直到達到結束狀態為止。
如果您的測試套件不包含用戶定義的測試協調器,IDT 將為您生成測試協調器。
默認測試協調器執行以下功能:
-
為測試運行者提供選擇和運行特定測試組的功能,而不是整個測試套件。
-
如果未選擇特定的測試組,請以隨機順序運行測試套件中的每個測試組。
-
生成報告並打印顯示每個測試組和測試用例的測試結果的控制台摘要。
如需 IDT 測試協調器如何運作的詳細資訊,請參閱。配置 IDT 測試編排器
配置用戶數據模式
該userdata_schema.json
文件確定測試運行程序提供用戶數據的模式。如果您的測試套件需要device.json
文件中不存在的信息,則需要用戶數據。例如,您的測試可能需要使用者必須提供的 Wi-Fi 網路認證、特定開放連接埠或憑證。此資訊可以作為使用者在其資
料夾中建立的名為<device-tester-extract-location>
/configuserdata
userdata.json
檔案的輸入參數提供給 IDT。該userdata.json
文件的格式基於您包含在測試套userdata_schema.json
件中的文件。
為了表示測試運行者必須提供一個userdata.json
文件:
-
在
suite.json
檔案中,設定userDataRequired
為true
。 -
在您的
中建立<custom-test-suite-folder>
userdata_schema.json
檔案。 -
編輯該
userdata_schema.json
文件以創建一個有效的 IETF 草案 v4 JSON模式。
當 IDT 運行測試套件時,它會自動讀取模式並使用它來驗證測試運行器提供的userdata.json
文件。如果有效,則userdata.json
檔案內容可在 IDT 前後關聯和測試協調器內容中使用。