我有getuserdetails接口,我需要在这里以数组的形式发送购买的商品
API: api/getuserdetails/${id}
Method: post
body: {"uname":{
"purchaseitem": ["121","11","4","12345"]
}
}
在jmeter设置中,如下所示
>>TP_1
>>CSVDataSet_ids
>>CSVDataSet_purchaseitem
>> ThreadGroup1
>>HTTP Req
>>JSR223 PreProcessor
>>View result tree
purchaseitem csv的值如下
1231
12121
312232
13
1
42435
133
我希望以逗号分隔的方式传递从CSV获取的"purchaseitem“数组值,如body中所示
我在JSR223 PreProcessor中尝试过类似的功能
def list = ${purchaseitem}
for (i=0;i<=list.size()-1;i=i+10)
{
def mylist = list.subList(i,i+10);
props.put ("mylist"+i,mylist)
}
有人能帮帮忙吗?或者有没有什么函数可以解决这个简单的问题?
发布于 2020-09-07 18:38:11
你在做一些奇怪的事情
如果您需要一次发送CSV文件中的所有值,则应该使用JsonBuilder类,生成JSON并将其打印到jmeter.log文件的示例代码:
def payload = [:]
def purchasedtem = [:]
purchasedtem.put('purchaseitem', new File('/path/to/your/purchase.csv').readLines().collect())
payload.put('uname', purchasedtem)
log.info(new groovy.json.JsonBuilder(payload).toPrettyString())
更多信息:
https://stackoverflow.com/questions/63773938
复制相似问题