Как передать массив в JSON запрос в Jmeter - PullRequest
1 голос
/ 23 марта 2020

Я должен передать JSON в HTTP-запросе, и JSON содержит массив адресов. До тех пор, пока я не добавляю массив, запрос в порядке, и я получаю ответ, но как только я добавляю массив адресов, я получаю ошибку неверного запроса

Ниже мой неверный запрос

{
  "searchType": "XXXXXX",
  "searchCriteria": {
    "firstName": "J",
    "lastName": "S",
    "birthYear": 1980,
    "birthMonth": 1,
    "birthDay": 1
    "addresses":{
            "address": [
               {
                  "_city": "LOUISVILLE",
                  "_state": "TN",
                  "_zip": "37777-3917"
               },
               {
                  "_address1": "920 E LAMAR ALEXANDER PARKWAY",
                  "_city": "MARYVILLE",
                  "_state": "TN",
                  "_zip": "37804"
               },
               {
                  "_address1": "Last Reported Address - Out of State",
                  "_city": "LOUISVILLE",
                  "_state": "TN",
                  "_zip": "37777"
               }
            ]
         }
  },
  "identification": {
    "ipAddress": "XXXXXXXX",
    "applicationID": "XXXX"
  }
}

Может кто-нибудь подсказать, как этого можно достичь в Jmeter?

1 Ответ

1 голос
/ 23 марта 2020

То, что вы предоставляете, не является действительным JSON, вы можете дважды проверить его с помощью онлайн JSON валидатора

Так как у нас нет никаких Идея о том, как должен выглядеть «хороший» запрос, не может предложить 100% -ное правильное решение.

Вы можете попробовать использовать полезную нагрузку JSON, указанную ниже, это синтаксически правильно, но я не гарантирую, что ваше приложение примет ее:

{
  "searchType": "XXXXXX",
  "searchCriteria": {
    "firstName": "J",
    "lastName": "S",
    "birthYear": 1980,
    "birthMonth": 1,
    "birthDay": {
      "addresses": {
        "address": [
          {
            "_city": "LOUISVILLE",
            "_state": "TN",
            "_zip": "37777-3917"
          },
          {
            "_address1": "920 E LAMAR ALEXANDER PARKWAY",
            "_city": "MARYVILLE",
            "_state": "TN",
            "_zip": "37804"
          },
          {
            "_address1": "Last Reported Address - Out of State",
            "_city": "LOUISVILLE",
            "_state": "TN",
            "_zip": "37777"
          }
        ]
      }
    }
  },
  "identification": {
    "ipAddress": "XXXXXXXX",
    "applicationID": "XXXX"
  }
}

Я бы порекомендовал записать успешный запрос с использованием регистратора тестовых сценариев JMeter HTTP (S) и после получения рабочего запроса, который можно успешно воспроизвести, вы можете сопоставлять dynamici c и parameterize пользовательских значений c значений.

...