有没有一种方法可以存储从测试响应中提取的值。我可以使用正则表达式提取器提取值,但我需要将该值存储在一个变量中,并在下次运行时使用它。我可以在POSTMAN中使用以下脚本执行此操作:var jsonData = JSON.parse(responseBody); postman.setEnvironmentVariable(“accessToken”,jsonData.accessToken);有人能帮我吗?我试过使用正则表达式提取器。
yqhsw0fo1#
JSON is not a regular language因此使用它来解析响应并不是一个好主意,JMeter中有以下替代方案:
如果你提取了这个值,它将被存储到JMeter Variable中,它将被采样器访问,采样器将在后处理器之后执行。有一个限制:JMeter变量是local to the thread,因此其他虚拟用户无法“看到”此变量值,并且当虚拟用户被关闭时,变量会丢失。如果“下一次运行”是指下一次测试执行,你再次从零开始启动JMeter,存储这个变量的唯一方法是将它写入文件。可以使用前面提到的JSR223 PostProcessor或Flexible File Writer等插件来完成
1条答案
按热度按时间yqhsw0fo1#
JSON is not a regular language因此使用它来解析响应并不是一个好主意,JMeter中有以下替代方案:
如果你提取了这个值,它将被存储到JMeter Variable中,它将被采样器访问,采样器将在后处理器之后执行。
有一个限制:JMeter变量是local to the thread,因此其他虚拟用户无法“看到”此变量值,并且当虚拟用户被关闭时,变量会丢失。
如果“下一次运行”是指下一次测试执行,你再次从零开始启动JMeter,存储这个变量的唯一方法是将它写入文件。可以使用前面提到的JSR223 PostProcessor或Flexible File Writer等插件来完成