Share via


在 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 外掛程式。

必要條件

  • 具有有效訂用帳戶的 Azure 帳戶。 如尚未擁有 Azure 訂用帳戶,請在開始之前先建立免費帳戶
  • Azure 負載測試資源。 若要建立負載測試資源,請參閱 建立和執行負載測試

使用 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 型負載測試:

  1. Azure 入口網站 中,移至負載測試資源。

  2. 在左側導覽中,選取 [ 測試 ] 以檢視所有測試。

  3. 在清單中,選取負載測試,然後選取 [ 編輯]。

    請務必從清單中選取 URL 型負載測試,並在 [基本] 索引標籤上啟用 [啟用進階設定]。

  4. 移至 [ 測試計劃] 索引標籤,然後選取 [ 新增要求]。

    Screenshot that shows how to add a request to a URL-based load test in the Azure portal.

  5. 選取 [在 UI 中新增輸入] 以輸入 HTTP 要求詳細數據。

  6. 輸入 HTTP 要求詳細數據,然後選取 [新增 ] 將要求新增至負載測試。

    欄位 描述
    要求格式 選取 [在 UI 中新增輸入],以透過 Azure 入口網站 中的字段設定要求詳細數據。
    要求名稱 輸入要求的唯一名稱。 當您定義 測試失敗準則時,可以參考此要求名稱。
    URL 應用程式端點的 URL。
    方法 從清單中選取 HTTP 方法。 Azure 負載測試支援 GET、POST、PUT、DELETE、PATCH、HEAD 和 OPTIONS。
    查詢參數 (選擇性)輸入要附加至 URL 的查詢字串參數。
    標題 (選擇性)輸入 HTTP 標頭以包含在 HTTP 要求中。
    本文 (選擇性)視 HTTP 方法而定,您也可以指定 HTTP 主體內容。 Azure 負載測試支援下列格式:原始數據、JSON 檢視、JavaScript、HTML 和 XML。

    Screenshot that shows the details page to add an HTTP request by using UI fields in the Azure portal.

  7. 選取 [ 套用 ] 以儲存負載測試。

使用 cURL 新增要求

除了提供 HTTP 要求詳細數據,您也可以為 URL 型負載測試中的 HTTP 要求提供 cURL 命令。 cURL 是 URL 型要求的命令行工具和連結庫。

請遵循下列步驟,使用 cURL 命令將 HTTP 要求新增至負載測試。

  1. 在測試清單中,選取負載測試,然後選取 [ 編輯]。

    請務必從清單中選取 URL 型負載測試,並在 [基本] 索引標籤上啟用 [啟用進階設定]。

  2. 移至 [ 測試計劃] 索引標籤,然後選取 [ 新增要求]。

  3. 選取 [新增 cURL] 命令 ,以使用 cURL 建立 HTTP 要求。

  4. cURL 命令欄位中輸入 cURL 命令 ,然後選取 [新增 ] 將要求新增至負載測試。

    下列範例會使用 cURL 來執行 HTTP GET 要求,並指定 HTTP 標頭:

    curl --request GET 'http://www.contoso.com/customers?version=1' --header 'api-token: my-token'
    

    Screenshot that shows the details page to add an HTTP request by using a cURL command in the Azure portal.

  5. 選取 [ 套用 ] 以儲存負載測試。

在 HTTP 要求中使用變數

您可以在 HTTP 要求中使用變數,讓您的測試更具彈性,或避免在測試計劃中包含秘密。 例如,您可以使用環境變數搭配端點的功能變數名稱,然後在個別 HTTP 要求中使用變數名稱。 變數的使用可讓您的測試計劃更有彈性且可維護。

使用 Azure 負載測試中的 URL 型負載測試,您可以使用變數來參考下列資訊:

在要求中參考變數的語法為: ${variable-name}

下列螢幕快照顯示如何使用 來參考 token HTTP 標頭 ${token}中的變數。

Screenshot that shows the request details page in the Azure portal, highlighting a variable reference in an HTTP header.

注意

如果您指定憑證,Azure 負載測試會自動在每個 HTTP 要求中傳遞憑證。

針對相依要求使用響應變數

若要建立在先前要求上取消處理的 HTTP 要求,您可以使用響應變數。 例如,在第一個要求中,您可能會從 API 擷取項目清單、從第一個結果擷取標識碼,然後建立後續的 ,並將此標識元當作查詢字元串參數傳遞。

Azure 負載測試支援下列選項,從 HTTP 要求擷取值,並將其儲存在變數中:

  • JSONPath
  • XPath
  • 規則運算式

例如,下列範例示範如何使用 XPathExtractor 將要求主體儲存在響應變數中 token 。 然後 ${token} ,您可以在其他 HTTP 要求中使用 來參考此值。

"responseVariables": [
    {
        "extractorType": "XPathExtractor",
        "expression": "/note/body",
        "variableName": "token"
    }
]