Json 来自 BeanShellPreprocessor 的对象在 HTTP 请求中没有被替换

Json object from BeanShellPreprocessor is not replaced in HTTP Request

这是我的测试计划中的层次结构

我有如下的 Beanshell 预处理器:

import org.json.JSONArray;
import org.json.JSONObject;
JSONObject obj = new JSONObject();

obj.put("customerId", "1234");
obj.put("dataSourceName", "ABCD");
JSONArray relateddata = new JSONArray();
relateddata.add("abc", "abc");
obj.put("relatedData", relateddata);

String data = obj.toJSONString();

vars.put("request", data);

我的 HttP 请求如下:

${request};

我的 RequestBody 是:

POST http://www.url.com (just an example)

POST data:
${request};

[no cookies]

谁能帮我理解为什么我的请求变量没有被替换,我怎样才能替换它?

你应该把请求作为一个字符串

  vars.put("request", data);

JsonArray 不能直接添加到 Jsonobject 中,除非转换成 JSONobject。