从JMeter中的JSON中提取并添加多个值,可以通过使用JMeter的内置函数和组件来实现。
首先,我们需要使用JMeter的正则表达式提取器或JSON提取器来从JSON响应中提取所需的值。正则表达式提取器适用于简单的JSON结构,而JSON提取器适用于复杂的JSON结构。
- 正则表达式提取器:
- 添加HTTP请求,获取JSON响应。
- 在HTTP请求之后添加正则表达式提取器。
- 在正则表达式提取器中,设置"应用于"为"主体",并使用适当的正则表达式来提取所需的值。
- 设置"模板"为"$1$2$3$",其中$1、$2、$3是正则表达式中的捕获组。
- 设置"匹配号"为"0",以提取所有匹配项。
- 设置"默认值"为"未找到",以防提取失败。
- 将提取的值存储到JMeter变量中,例如"variable1"。
- JSON提取器:
- 添加HTTP请求,获取JSON响应。
- 在HTTP请求之后添加JSON提取器。
- 在JSON提取器中,设置"变量名"为"variable1",用于存储提取的值。
- 设置"JSON路径表达式"来匹配所需的值。例如,如果要提取JSON中的"name"字段的值,可以使用表达式"$.name"。
- 设置"默认值"为"未找到",以防提取失败。
接下来,我们可以使用JMeter的BeanShell预处理器或JSR223预处理器来添加多个值到JSON中。
- BeanShell预处理器:
- 在HTTP请求之前添加BeanShell预处理器。
- 在BeanShell预处理器中,使用以下代码来添加多个值到JSON中:
- 在BeanShell预处理器中,使用以下代码来添加多个值到JSON中:
- 将修改后的JSON响应存储到JMeter变量中,例如"modifiedJsonResponse"。
- JSR223预处理器:
- 在HTTP请求之前添加JSR223预处理器。
- 在JSR223预处理器中,选择适当的脚本语言(如Groovy)。
- 使用以下代码来添加多个值到JSON中:
- 使用以下代码来添加多个值到JSON中:
- 将修改后的JSON响应存储到JMeter变量中,例如"modifiedJsonResponse"。
通过上述步骤,我们可以从JMeter中的JSON中提取并添加多个值。请注意,这只是一种实现方式,具体的实现方法可能因实际情况而异。