我希望在同一个Json请求中向我的服务发送(POST)多个数据,这是示例:
{
"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"}
}
我已经尝试了线程组用户/循环控制器,但是他们创建了不同的请求,问题是我想在同一个请求中加载数千条记录。在贡献者请求中,我想加载数千条记录,但它们应该都在同一个请求中
答案 0 :(得分:0)
我建议使用以下解决方案之一:
解决方案1
使用单独的setUp Thread Group填充大型请求实体,将其存储到JMeter属性并将其传递给“main”线程组。这里可以使用各种方法:
一旦你有了巨大的JSON,你可以通过将其转换为JMeter Property来use it in different thread groups。
解决方案2
在您的请求中添加Beanshell Pre Processor,其中包含用于构建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扩展的详细信息,请参阅How to use BeanShell: JMeter's favorite built-in component指南