分享方式:


在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 新增要求

您也可以在 URL 型負載測試中針對 HTTP 要求提供 cURL 命令,而不是提供 HTTP 要求詳細資料。 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 回應變數中。 然後,您可以在其他 HTTP 要求中使用 ${token} 以參考此值。

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