如何在JMeter中更新从一个http请求中提取的JSON对象的值,并在另一个http请求中重用它

ykejflvf  于 2023-06-06  发布在  其他
关注(0)|答案(1)|浏览(134)

我正在执行一个JMeter任务。在该任务中,我需要从http请求中提取JSON,并更新该JSON对象中所有子元素的一些元素,并在另一个HTTP请求中重用更新后的JSON。
1.在JSON中有一个数组,它至少有500个对象;
1.我只需要更新每个对象的两个元素,并在下一个请求中使用它
我想的是使用JavaScript,从目前为止我搜索的内容来看,我应该能够使用JSR 223 Sampler来运行我的JavaScript,
我也已经测试过代码了
我的困境是,我用来更新对象内部的值的值没有在这个代码块中定义,这两个值是使用JMeter中的另一个正则表达式方法提取的。
至少有两个正则表达式提取器;从JSON响应中提取对象数组,
另一个从另一个响应中提取两个值。
现在我尝试在另一个采样器中一起使用它们,以符合一个新的对象数组,并在下一个请求中使用。
如何做到这一点?

hgc7kmma

hgc7kmma1#

使用来自“另一个”正则表达式提取器的数据不应该是一个问题,只要它是在构建JSON Payload之前执行的。
提取的值将保留在thread local storage中,直到:

  • 线程(虚拟用户)终止
  • 更新这些值(即,正则表达式提取器在另一次迭代中执行)
  • 删除这些值(如果它们足够大,并且您不再需要它们,那么删除这些变量是有意义的)

我唯一的建议是重新考虑使用JavaScript,这是一种性能反模式的形式(特别是当涉及到500多个对象时)。JMeter中推荐的脚本语言是Groovy。
更多信息:

相关问题