BeanShellPreprocessor中的Json对象未在HTTP请求中替换

时间:2018-11-19 23:57:13

标签: jmeter load beanshell jmeter-5.0

这是我测试计划中的层次结构 enter image description here

我有如下的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]

有人可以帮助我理解为什么我的请求变量没有被替换的原因,我该如何替换它?

2 个答案:

答案 0 :(得分:0)

您应该以字符串形式放置请求

  vars.put("request", data);

答案 1 :(得分:0)

JsonArray不能直接添加到Jsonobject中,而不能转换为JSONobject。