如何在Jmeter中通过单个Json请求发送多个Json数据

如何在Jmeter中通过单个Json请求发送多个Json数据,json,jmeter,Json,Jmeter,我希望在同一个Json请求中向我的服务发送(发布)多个数据,示例如下: { "contributionRequest":{ "contributionData":[ {"startDate":"2010-01- 01”dataItemName":"XYZ", "dataItemValue":"", "expireDate":"",

我希望在同一个Json请求中向我的服务发送(发布)多个数据,示例如下:

{
  "contributionRequest":{
  "contributionData":[ 
                      {"startDate":"2010-01- 01”dataItemName":"XYZ",
                       "dataItemValue":"",
                       "expireDate":"",
                       "inputScale":"",
                       "endDate":"",
                       "identifier":"MSFT",
                       "publishDate":"",
                       "trait":"",
                       "fiscalPeriod":"FY1",
                       "currency":""},

                      {"startDate":"2014-01-01”dataItemName":"ERT",
                       "dataItemValue":"",
                       "expireDate":"",
                       "inputScale":"",
                       "endDate":"",
                       "identifier":"MSFT",
                       "publishDate":"",
                       "trait":"",
                       "fiscalPeriod":"FY1",
                       "currency":"USD"}
                    ],
                    "acceptPartialRequest":true,
                    "sharingLevel":"self",
                    "uuid":"PAXTRA77385",
                    "clientDateTime":"2014-04-24T16:05:05.480Z"}
}  

我尝试过线程组用户/循环控制器,但它们会创建不同的请求,问题是我想在同一个请求中加载数千条记录。在贡献者请求中,我希望加载数千条记录,但它们都应该在同一个请求中进行

我建议使用以下解决方案之一:

解决方案1

使用separate填充您的大型请求实体,将其存储到JMeter属性并将其传递到“main”线程组。这里可以使用多种方法:

一旦有了巨大的JSON,就可以通过将其转换为JMeter属性来实现

解决方案2

在请求中添加一个包含构建JSON数据代码的

//code to generate JSON data
JSONObject object = new JSONObject();
object.put("contributionRequest", contributionData);
....
String data = object.toJSONString();
vars.put("request", data);
然后在HTTP请求中将其称为
{request}


有关通过Beanshell脚本的JMeter扩展的详细信息,请参阅指南。请澄清,您是希望将所有数据发送到此请求一次,还是使用同一个/单个请求发送多个请求,每次更改参数值。