首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在jmeter请求中发送in数组(存储在csv中)

如何在jmeter请求中发送in数组(存储在csv中)
EN

Stack Overflow用户
提问于 2020-09-07 16:26:37
回答 1查看 59关注 0票数 0

我有getuserdetails接口,我需要在这里以数组的形式发送购买的商品

代码语言:javascript
运行
复制
API: api/getuserdetails/${id}
Method: post
body: {"uname":{
"purchaseitem": ["121","11","4","12345"]
}
} 

在jmeter设置中,如下所示

代码语言:javascript
运行
复制
>>TP_1
 >>CSVDataSet_ids
 >>CSVDataSet_purchaseitem
 >> ThreadGroup1
   >>HTTP Req
   >>JSR223 PreProcessor
 >>View result tree

purchaseitem csv的值如下

代码语言:javascript
运行
复制
1231
12121
312232
13
1
42435
133

我希望以逗号分隔的方式传递从CSV获取的"purchaseitem“数组值,如body中所示

我在JSR223 PreProcessor中尝试过类似的功能

代码语言:javascript
运行
复制
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)
}

有人能帮帮忙吗?或者有没有什么函数可以解决这个简单的问题?

EN

回答 1

Stack Overflow用户

发布于 2020-09-07 18:38:11

你在做一些奇怪的事情

  1. 你将无法使用CSV数据集配置,因为它用下一个虚拟代码读取下一个值根本没有意义

如果您需要一次发送CSV文件中的所有值,则应该使用JsonBuilder类,生成JSON并将其打印到jmeter.log文件的示例代码:

代码语言:javascript
运行
复制
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())

更多信息:

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63773938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档