如何通过JSR223 PreProcessor将正则提取的数据传入JMeter请求体?
JMeter:将正则提取的列表传入后续请求请求体
已知条件
- 存在两个请求,第一个请求返回0至20条数据
- 已通过Regular Expression Extractor将第一个请求的所有数据提取至变量
VAR - 第二个请求已添加JSR223 PreProcessor,需把提取到的
VAR列表传入请求体
JSR223 PreProcessor代码实现
直接使用Groovy编写代码即可,示例如下:
// 获取所有匹配到的VAR变量值 def varList = vars.getValues("VAR") // 转换为JSON数组格式(适配JSON类型的请求体) def jsonContent = new groovy.json.JsonBuilder(varList).toString() // 将处理后的数据存入新变量,方便后续引用 vars.put("REQUEST_BODY_DATA", jsonContent)
灵活调整说明
如果第二个请求的请求体不是JSON格式,比如需要逗号分隔的字符串,可修改转换逻辑:
def stringContent = varList.join(",") vars.put("REQUEST_BODY_DATA", stringContent)
当第一个请求没有返回数据时,varList会是空列表,转换后会自动生成空的JSON数组[]或空字符串,无需额外处理边界情况。
在第二个请求的请求体中,直接通过${REQUEST_BODY_DATA}引用该变量即可。
内容的提问来源于stack exchange,提问作者Aleks
相关产品推荐
相关产品推荐

