在 Azure 負載測試中將要求新增至 URL 型負載測試
在本文中,您將瞭解如何在 Azure 負載測試中將 HTTP 要求新增至 URL 型負載測試。 使用 URL 型負載測試來驗證 HTTP 端點,例如 Web 應用程式或 REST 端點,而不需要事先知道負載測試工具和腳本。
Azure 支援 兩種方式,以定義URL型負載測試中的 HTTP 要求。 您可以在負載測試中結合這兩種方法。
- 指定 HTTP 端點詳細數據,例如端點 URL、HTTP 方法、標頭、查詢參數或要求主體。
- 輸入 HTTP 要求的 cURL 命令。
如果您有相依要求,您可以從一個要求擷取回應值,並將其作為輸入傳遞給後續要求。 例如,您可能先擷取客戶詳細數據,並擷取客戶標識碼以擷取客戶訂單詳細數據。
如果您在 CI/CD 工作流程中使用 URL 型負載測試,您可以將包含 HTTP 要求的 JSON 檔案傳遞至負載測試。
您最多可以將五個要求新增至URL型負載測試。 如需更複雜的負載測試,您可以 上傳 JMeter 測試腳本來建立負載測試。 例如,當您有五個以上的要求時,如果您使用非 HTTP 通訊協定,或需要使用 JMeter 外掛程式。
必要條件
使用 HTTP 詳細數據新增要求
您可以藉由提供 HTTP 要求詳細數據,來指定 URL 型負載測試的 HTTP 要求。 下表列出您可以在 Azure 負載測試中為 HTTP 要求設定的欄位:
欄位 | 詳細資料 |
---|---|
URL | HTTP 端點 URL。 例如: https://www.contoso.com/products 。 |
方法 | HTTP 方法。 Azure 負載測試支援 GET、POST、PUT、DELETE、PATCH、HEAD 和 OPTIONS。 |
查詢參數 | (選擇性)輸入要附加至 URL 的查詢字串參數。 |
HTTP 標頭 | (選擇性)輸入 HTTP 標頭以包含在 HTTP 要求中。 您可以為要求新增最多 20 個標頭。 |
要求本文 | (選擇性)視 HTTP 方法而定,您可以指定 HTTP 主體內容。 Azure 負載測試支援下列格式:原始數據、JSON 檢視、JavaScript、HTML 和 XML。 |
請遵循下列步驟,將 HTTP 要求新增至 URL 型負載測試:
在 Azure 入口網站 中,移至負載測試資源。
在左側導覽中,選取 [ 測試 ] 以檢視所有測試。
在清單中,選取負載測試,然後選取 [ 編輯]。
請務必從清單中選取 URL 型負載測試,並在 [基本] 索引標籤上啟用 [啟用進階設定]。
移至 [ 測試計劃] 索引標籤,然後選取 [ 新增要求]。
選取 [在 UI 中新增輸入] 以輸入 HTTP 要求詳細數據。
輸入 HTTP 要求詳細數據,然後選取 [新增 ] 將要求新增至負載測試。
欄位 描述 要求格式 選取 [在 UI 中新增輸入],以透過 Azure 入口網站 中的字段設定要求詳細數據。 要求名稱 輸入要求的唯一名稱。 當您定義 測試失敗準則時,可以參考此要求名稱。 URL 應用程式端點的 URL。 方法 從清單中選取 HTTP 方法。 Azure 負載測試支援 GET、POST、PUT、DELETE、PATCH、HEAD 和 OPTIONS。 查詢參數 (選擇性)輸入要附加至 URL 的查詢字串參數。 標題 (選擇性)輸入 HTTP 標頭以包含在 HTTP 要求中。 本文 (選擇性)視 HTTP 方法而定,您也可以指定 HTTP 主體內容。 Azure 負載測試支援下列格式:原始數據、JSON 檢視、JavaScript、HTML 和 XML。 選取 [ 套用 ] 以儲存負載測試。
使用 cURL 新增要求
除了提供 HTTP 要求詳細數據,您也可以為 URL 型負載測試中的 HTTP 要求提供 cURL 命令。 cURL 是 URL 型要求的命令行工具和連結庫。
請遵循下列步驟,使用 cURL 命令將 HTTP 要求新增至負載測試。
在測試清單中,選取負載測試,然後選取 [ 編輯]。
請務必從清單中選取 URL 型負載測試,並在 [基本] 索引標籤上啟用 [啟用進階設定]。
移至 [ 測試計劃] 索引標籤,然後選取 [ 新增要求]。
選取 [新增 cURL] 命令 ,以使用 cURL 建立 HTTP 要求。
在 cURL 命令欄位中輸入 cURL 命令 ,然後選取 [新增 ] 將要求新增至負載測試。
下列範例會使用 cURL 來執行 HTTP GET 要求,並指定 HTTP 標頭:
curl --request GET 'http://www.contoso.com/customers?version=1' --header 'api-token: my-token'
選取 [ 套用 ] 以儲存負載測試。
在 HTTP 要求中使用變數
您可以在 HTTP 要求中使用變數,讓您的測試更具彈性,或避免在測試計劃中包含秘密。 例如,您可以使用環境變數搭配端點的功能變數名稱,然後在個別 HTTP 要求中使用變數名稱。 變數的使用可讓您的測試計劃更有彈性且可維護。
使用 Azure 負載測試中的 URL 型負載測試,您可以使用變數來參考下列資訊:
- 環境變數:您可以設定負載測試的環境變數
- 秘密:在負載測試中設定 Azure 金鑰保存庫 秘密
- CSV 輸入檔案中的值:針對 CSV 輸入檔中的數據行使用變數,並針對檔案中的每個數據列執行要求
- 響應變數:從先前的 HTTP 要求擷取值
在要求中參考變數的語法為: ${variable-name}
。
下列螢幕快照顯示如何使用 來參考 token
HTTP 標頭 ${token}
中的變數。
注意
如果您指定憑證,Azure 負載測試會自動在每個 HTTP 要求中傳遞憑證。
針對相依要求使用響應變數
若要建立在先前要求上取消處理的 HTTP 要求,您可以使用響應變數。 例如,在第一個要求中,您可能會從 API 擷取項目清單、從第一個結果擷取標識碼,然後建立後續的 ,並將此標識元當作查詢字元串參數傳遞。
Azure 負載測試支援下列選項,從 HTTP 要求擷取值,並將其儲存在變數中:
- JSONPath
- XPath
- 規則運算式
例如,下列範例示範如何使用 XPathExtractor 將要求主體儲存在響應變數中 token
。 然後 ${token}
,您可以在其他 HTTP 要求中使用 來參考此值。
"responseVariables": [
{
"extractorType": "XPathExtractor",
"expression": "/note/body",
"variableName": "token"
}
]
相關內容
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應