如何从一个JMeter rest采样器获取响应并将其用作另一个采样器的输入?

如何从一个JMeter rest采样器获取响应并将其用作另一个采样器的输入?,jmeter,Jmeter,我有一个JMeter测试,它有一个rest采样器,输出响应数据中的值: {Var1:xxxxx-xxxxxxxx-xxxxxxxxx} 我需要将其取出put Var1,并在下面的测试步骤中将其用作下一个rest采样器的输入。我在BeanShell预处理器中有一行代码,上面写着: String clearText=somestring1+\uu1+var1+:+somestring2 其中var1是从前面RestSampler的正则表达式提取器派生的,这就是我如何得到输出{var1:xxxxx-x

我有一个JMeter测试,它有一个rest采样器,输出响应数据中的值:

{Var1:xxxxx-xxxxxxxx-xxxxxxxxx}

我需要将其取出put Var1,并在下面的测试步骤中将其用作下一个rest采样器的输入。我在BeanShell预处理器中有一行代码,上面写着:

String clearText=somestring1+\uu1+var1+:+somestring2

其中var1是从前面RestSampler的正则表达式提取器派生的,这就是我如何得到输出{var1:xxxxx-xxxxxxxxx-xxxxxxxxx}

问题:我在第二个rest采样器的输出中得到了var1的一个空格

我做错了什么?如何从第一个rest采样器的输出中获取值,并将其用作第二个rest采样器的输入

谢谢


ironmantis7x

您确定正则表达式提取器正确获取了Var1吗?如果您正在测试RESTfulAPI,那么最好使用available via,因为您需要设置Libs的额外功能

按如下方式配置JSON路径提取器:

参考名称:Var1或任何您喜欢的名称 JSON路径:$.Var1此路径假设您的响应。 因此,您可以将变量值作为${Var1}或${uuu VVar1}提供给第二个请求

有关如何正确安装扩展和构建JSON路径查询的更多详细信息,请参阅向下滚动到解析JSON


希望这有帮助

如果API以JSON格式返回响应,则使用以下解决方案:

1要在同一线程组中使用此参数:- a] 右键单击线程名称->单击添加->单击后处理器->选择Json提取器

b] 在“Json提取器”窗口中,选择以下值: 变量名==测试//给出用户定义的任何变量名 JSON路径表达式==$[0].name//这将从API的JSON响应中选取name param的值

c] 现在使用${test}将此值作为输入传递给其他API。通过使用${test},您可以在任何地方使用它

2要在其他线程组中使用此${test}参数:- a] 右键单击线程名称->单击添加->单击后处理器->选择Json提取器

b] 在“Json提取器”窗口中,选择以下值: 变量名==测试//给出用户定义的任何变量名 JSON路径表达式==$[0].name//这将从API的JSON响应中选取name param的值

c] 右键单击填充变量值的第一个线程名称->单击添加->单击断言->选择BeanShell断言

d] 在“脚本”部分下,粘贴以下代码: ${uuuu setPropertytest,${test}

e] 现在可以使用${uuuuPropertyTest}访问第一个API的响应值
变量

检查jmeter日志是否有任何错误。使用调试采样器查看其他变量是什么。提供您的测试计划和日志。