简体   繁体   中英

For jmeter post request, how can I generate input json from csv file?

I am trying to make a post rest call to my service. My sample input json file is,

{ "$id": "1", "description": "sfdasd" }

I have one csv file which contain a bunch of id and description, So is there a option where I can convert csv file to json objects and pass them to post call?

Assuming your CSV file is called test.csv , located in JMeter's "bin" folder and looks like:

CSV示例结构

  1. Add CSV Data Set Config to your Test Plan and configure it as follows:

    在此输入图像描述

  2. You can inline the defined JMeter Variables directly into your request body like:

     { "$id": "${id}", "description": "${description}" } 

    JMeter HTTP请求

  3. So when you run the test the variables placeholders will automatically be substituted with the values from the CSV file in the HTTP Request sampler:

    在此输入图像描述

See Using CSV DATA SET CONFIG article for more information on JMeter tests parameterization using CSV files.

Json is just text. Send as is with the variable id taken from csv:

 { "${id}": "1", "description": "sfdasd" }

CSV data can be converted to JSON via a POJO using Jackson. If a POJO is not already defined or required, you can always use the Java Collection classes to store parsed data and later convert it to JSON. http://www.novixys.com/blog/convert-csv-json-java/ is a good reference on how to convert csv to java. You can check the following links too. 1. directly convert CSV file to JSON file using the Jackson library 2. Converting an CSV file to a JSON object in Java

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM