Jmeter generate json payload of request dynamically Jmeter generate json payload of request dynamically json json

Jmeter generate json payload of request dynamically


  1. Add a Beanshell PreProcessor as a child of the request you want to parametrize
  2. Put following code into the PreProcessor's "Script" area:

    StringBuilder result = new StringBuilder();String newline = System.getProperty("line.separator");int max = Integer.parseInt(Parameters);Random random = new Random();result.append("{");result.append("\"productIds\" : [");result.append(newline);for (int i = 1; i < max; i++) {    result.append("\"").append(random.nextInt()).append("\",");    result.append(newline);}result.append("]");result.append(newline);result.append("}");vars.put("json", result.toString());
  3. Put your ${productsCount} value into "Parameters" stanza
  4. Refer generated payload as ${json} where required

See How to use BeanShell: JMeter's favorite built-in component guide for more details on Beanshell scripting in Apache JMeter.