Передача нескольких json в качестве полезной нагрузки для запроса в Gatling - PullRequest
2 голосов
/ 11 января 2020

образец 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. Есть ли способ подать несколько файлов json в качестве полезной нагрузки в Gatling. Я использую body(RawFileBody("file.json")) as json здесь.

Это прекрасно работает для одного json файла. Я хочу проверить ответ для нескольких файлов json. Есть ли способ, которым мы можем параметризовать это и получить ответ против нескольких json файлов.

1 Ответ

1 голос
/ 14 января 2020

Насколько я вижу, есть несколько способов сделать это.

  1. Используйте JSON фидер (https://gatling.io/docs/current/session/feeder#json -фидер ). Для этого нужно, чтобы несколько файлов JSON были в одном файле, а элемент root представлял собой массив JSON. По сути, вы должны поместить JSON объекты, которые у вас есть, внутри массива в один JSON файл

  2. Создать Scala Итератор и иметь имена JSON файлов вы собираетесь использовать в нем. Например:

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

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

Обратите внимание *, что этот метод нельзя использовать для разных пользователей, поскольку итератор будет инициализироваться отдельно для каждого пользователя. Вам нужно будет использовать repeat или что-то подобное для отправки нескольких файлов от одного пользователя.

Вы можете сделать что-то подобное, сохранив имена файлов в виде списка внутри переменной session Гатлинга, но в этом сеансе все равно не будет использоваться разными пользователями, которых вы добавляете в свой сценарий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...