使用JMETER CSV日期设置配置时,如何将CSV文件中的数据转换为请求正文中的JSON

时间:2017-07-05 23:26:02

标签: json csv jmeter

我有一个CSV数据集配置,指向包含以下数据的CSV文件:

{
  data: {
    type: 'user',
    id: null,
    attributes: { name: 'Sam Sample' }
  },
  relationships: {
    memberships: {
      data: [
        {
          type: 'membership',
          id: null
        },
        {
          type: 'membership',
          id: null
        }
      ]
    }
  }
}

我没有循环遍历文件并为每个值执行多个Ids 87541 4551 15441 11117 ..... n 请求,而是需要一个POST请求,并在生成的{{{}}中传递请求正文的所有ID。 {1}}:

POST

2 个答案:

答案 0 :(得分:1)

  1. 添加JSR223 PreProcessor作为需要发送此JSON的请求的子项。
  2. 将以下代码放入"脚本"区域

    def csvfile = new File('test.csv')
    def jsonBuilder = new groovy.json.JsonBuilder()
    
    jsonBuilder {
        ids csvfile.collect { it }
    }
    
    vars.put('requestBody', jsonBuilder.toPrettyString())
    log.info(vars.get('requestBody'))   
    

    以上代码将在JMeter" bin"中读取test.csv文件。文件夹并创建ids JSON Array,其中每个元素都是给定文件中的一行,并将结果放入${requestBody} JMeter Variable

  3. 演示:

    JMeter Groovy Create JSON

    参考文献:

答案 1 :(得分:0)

在CSV数据集配置中定义分隔符,该分隔符不在文件中~

例如,输入变量名ids

然后在请求中将其用作{ "ids": [ ${ids} ] }