Как создать несколько json объектов и пост в одном запросе - PullRequest
0 голосов
/ 09 апреля 2020

У меня есть CSV-файл:

строка 1 - 1000 uuids & row2 - 1000 имен

мне нужно вызвать каждый uuid и соответствующее имя ниже json структура и, наконец, необходимо опубликовать в одном запросе.

пока я пробовал ниже json в препроцессоре jsr223 и ответ успешен:

      import groovy.json.JsonBuilder
      def builder = new JsonBuilder()

      builder({
      Data{
      "${__UUID()}"{
         name{
            "${__RandomString(10,abcdefg)}"(1)
         }
         p([1,1])
         m([1,2])
         o([2,3])
       }
     }
     E([])
     S(${__time()})
     })
     println builder.toPrettyString()
     vars.put("json", builder.toPrettyString());

Теперь проблема в том, что я нужно связать строку 6 ("$ {__ UUID ()}) & строку 8 ($ {__ RandomString (10, abcdefg)}) с файлом CSV и нужно вызвать все столбцы, которые я не знал, как поступить и, наконец, отправить как один запрос.

Любая помощь будет принята с благодарностью. Спасибо.

1 Ответ

0 голосов
/ 13 апреля 2020

Вы можете выбрать произвольную ячейку из файла CSV, используя функцию __ CSVRead () , ознакомьтесь с Как выбрать различные файлы CSV в статье JMeter Runtime для получения более подробной информации.

Не зная формат полезной нагрузки JSON, которую вы пытаетесь сгенерировать, невозможно найти комплексное решение, но одно очевидно, что касается JSR223 Sampler документация:

При использовании этой функции убедитесь, что код вашего сценария не использует переменные JMeter непосредственно в коде сценария, поскольку кэширование будет кешировать только первую замену. Вместо этого используйте параметры скрипта.

Так что никогда не вставляйте JMeter функции или переменные в скрипты JSR223, как вы это делаете, потому что он будет обновляться только один раз, при На последующих итерациях значение будет кэшировано и не будет обновляться.

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