Jmeter 为什么在JSON路径提取器中检查计算连接var(后缀_ALL)并不总是有效?

Jmeter 为什么在JSON路径提取器中检查计算连接var(后缀_ALL)并不总是有效?,jmeter,Jmeter,我有两个电话。我在每个文件中都有一个JSON提取器,配置完全相同 我注意到,当我运行它时,调试采样器中的响应数据并不总是相同的。这意味着,我已经检查了“compute concatenation var(suffix_ALL)”,但我只是偶尔会为每一项检查得到它。我得到了myvar、myvar\u ALL或myvar\u n中的一个组合或仅一个 例如,在调试采样器中,我可以看到POST 1: myLinkList={"linkList":[{"label":"item1","link":"lin

我有两个电话。我在每个文件中都有一个JSON提取器,配置完全相同

我注意到,当我运行它时,调试采样器中的响应数据并不总是相同的。这意味着,我已经检查了“compute concatenation var(suffix_ALL)”,但我只是偶尔会为每一项检查得到它。我得到了myvar、myvar\u ALL或myvar\u n中的一个组合或仅一个

例如,在调试采样器中,我可以看到POST 1:

myLinkList={"linkList":[{"label":"item1","link":"link1"},{"label":"item2","link":"link2"}]}
例如,在第2篇文章的调试采样器中:

myLinkList={"linkList":[{"label":"item1","link":"link1"},{"label":"item2","link":"link2"}]} 

myLinkList_1={"label":"item1","link":"link1"}
myLinkList2={"label":"item2","link":"link2"}

myLinkList_ALL={"linkList":[{"label":"item1","link":"link1"},{"label":"item2","link":"link2"}]} 

为什么会这样?如何确保myvar_ALL变量出现在调试采样器中,以便我的beanshell后处理器可以使用它,而不是因为变量值不存在而获取EOF错误?我可以用“myLinkList”而不是“myLinkList\u ALL”,但也不能保证它会弹出。

我可以看出两个可能的原因:

  • 响应数据在两种情况下是不同的,当您只有一个匹配项时,因此不会生成串联变量
  • 该问题是由使用Beanshell后处理器引起的。当涉及到高负载或大数据集时,BeNeS壳可能成为性能瓶颈,可能会破坏您的测试,因此考虑切换到语言和AS: