jmeter 从响应中提取值并将其存储为变量

0dxa2lsx  于 2023-10-20  发布在  其他
关注(0)|答案(1)|浏览(120)

有没有一种方法可以存储从测试响应中提取的值。我可以使用正则表达式提取器提取值,但我需要将该值存储在一个变量中,并在下次运行时使用它。
我可以在POSTMAN中使用以下脚本执行此操作:
var jsonData = JSON.parse(responseBody); postman.setEnvironmentVariable(“accessToken”,jsonData.accessToken);
有人能帮我吗?
我试过使用正则表达式提取器。

yqhsw0fo

yqhsw0fo1#

JSON is not a regular language因此使用它来解析响应并不是一个好主意,JMeter中有以下替代方案:

如果你提取了这个值,它将被存储到JMeter Variable中,它将被采样器访问,采样器将在后处理器之后执行。
有一个限制:JMeter变量是local to the thread,因此其他虚拟用户无法“看到”此变量值,并且当虚拟用户被关闭时,变量会丢失。
如果“下一次运行”是指下一次测试执行,你再次从零开始启动JMeter,存储这个变量的唯一方法是将它写入文件。可以使用前面提到的JSR223 PostProcessor或Flexible File Writer等插件来完成

相关问题