簡體   English   中英

在 Gatling 中傳遞多個 json 作為請求的有效負載

[英]Passing multiple json as a payload for a request in Gatling

示例 json 有效負載:

'{
  "Stub1": "XXXXX",
  "Stub2": "XXXXX-3047-4ed3-b73b-83fbcc0c2aa9",
  "Code": "CodeX",
  "people": [
    {
      "ID": "XXXXX-6425-EA11-A94A-A08CFDCA6C02"
      "customer": {
    "Id": 173,
        "Account": 275,
        "AFile": "tel"
      },
      "products": [
        {
          "product": 1,
          "type": "A",
          "stub1": "XXXXX-42E1-4A13-8190-20C2DE39C0A5",
          "Stub2": "XXXXX-FC4F-41AB-92E7-A408E7F4C632",
          "stub3": "XXXXX-A2B4-4ADF-96C5-8F3CDCF5821D",
          "Stub4": "XXXXX-1948-4B3C-987F-B5EC4D6C2824"
        },
      {
          "product": 2,
          "type": "B",
          "stub1": "XXXXX-42E1-4A13-8190-20C2DE39C0A5",
          "Stub2": "XXXXX-FC4F-41AB-92E7-A408E7F4C632",
          "stub3": "XXXXX-A2B4-4ADF-96C5-8F3CDCF5821D",
          "Stub4": "XXXXX-1948-4B3C-987F-B5EC4D6C2824"
        }
      ]
    }
  ]
}'

我正在處理 POST 調用。 有沒有辦法在 Gatling 中將多個 json 文件作為有效負載提供給它。 我在這里使用body(RawFileBody("file.json")) as json

這適用於單個 json 文件。 我想檢查多個 json 文件的響應。 有什么方法可以對此進行參數化並獲得對多個 json 文件的響應。

據我所知,有幾種方法可以做到這一點。

  1. 使用 JSON 饋送器 ( https://gatling.io/docs/current/session/feeder#json-feeders )。 這需要將多個 JSON 文件放在一個文件中,根元素是一個 JSON 數組。 本質上,您會將您擁有的 JSON 對象放在單個 JSON 文件中的數組中

  2. 創建一個 Scala 迭代器並在其中包含要使用的 JSON 文件的名稱。 例如:

val fileNames = Iterator("file1.json", "file2.json)

// and later, in your scenario
body(RawFileBody(fileNames.next())

請注意,此方法不能跨用戶使用,因為迭代器將為每個用戶單獨初始化。 您必須使用repeat或類似的方式以單個用戶身份發送多個文件。

您可以通過將文件名維護為 Gatling session變量中的列表來做類似的事情,但是這個會話仍然不會在您注入場景的不同用戶之間共享。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM