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

时间:2018-04-03 16:01:15

标签: jmeter

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

我注意到当我运行它时,我的调试采样器中的响应数据并不总是相同的。这意味着,我已经检查过“计算连接var(suffix_ALL)”,但我有时只为每个获取它。我得到一个组合或只有myvar,myvar_ALL或myvar_n中的一个。

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

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

例如,在调试采样器中,我可能会看到POST 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_ALL”,但不能保证它会弹出。

1 个答案:

答案 0 :(得分:1)

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

  1. 2种情况下的响应数据不同,只有一次匹配,因此没有生成连接var
  2. 问题是由使用Beanshell PostProcessors引起的。当涉及到高负载或大型数据集时,Beanshell可能会成为性能瓶颈并可能破坏您的测试,因此请考虑切换为JSR223 Post ProcessorsGroovy语言: