在 Gatling 中使用 HTTP 協議發送 POST 請求并上傳 JSON 數據是一項非常普遍的任務。下面我們來看一下如何完成這個任務。
首先,我們需要使用以下代碼導入 Gatling HTTP 庫和 JsonPath 庫:
import io.gatling.core.Predef._ import io.gatling.http.Predef._ import io.gatling.jsonpath._
接下來,我們可以定義一個 HTTP 請求,使用以下代碼:
val httpConf = http .baseURL("http://localhost:8080") .acceptHeader("application/json") .contentTypeHeader("application/json")
在本例中,我們使用了一個基本 URL 為 `http://localhost:8080` 的 HTTP 配置,使用 "application/json" 作為接受和內容類型。
接著,我們可以定義一個 JSON 數據。以下是一個示例 JSON 數據的代碼:
val jsonData = """{"key1": "value1", "key2": "value2"}"""
在本例中,我們使用了一個 JSON 對象,其中包含鍵值對 `key1` 和 `key2`,它們分別對應了值 `value1` 和 `value2`。
現在,我們可以定義一個 Gatling 場景并發送帶有 JSON 數據的 POST 請求。以下是一個示例場景的代碼:
val scn = scenario("Post JSON Data") .exec(http("request_1") .post("/api/data") .body(StringBody(jsonData)).asJSON)
在本例中,我們使用了一個名為 `Post JSON Data` 的場景,并定義了一個名為 `request_1` 的 HTTP 請求,它使用了 `jsonData` 作為請求體。我們還將 `jsonData` 指定為 JSON 類型的請求體,以便正確處理。
最后,我們可以運行這個場景,并查看結果。運行 Gatling 腳本的方法可以使用如下命令:
./gatling.sh -s PostJSONSimulation
以上命令將使用名為 `PostJSONSimulation` 的 Gatling 仿真來運行測試。你可以根據自己的需要替換仿真名稱。
綜上所述,使用 Gatling 發送帶有 JSON 數據的 HTTP POST 請求是非常簡單的。只需要定義一個請求并指定請求體,即可輕松完成這個任務。