代码之家  ›  专栏  ›  技术社区  ›  user3834163

如果之前的参数为0,JMeter不会刷新参数

  •  1
  • user3834163  · 技术社区  · 7 年前

    我正在从csv文件读取参数,并在列表中运行While循环。在我的测试计划中,我正在读取JSON路径提取的输出。其中一个参数表示共有7项(DeedIDs\u matchNr=7) enter image description here 然后,我添加循环来调用每个参数,并为特定调用使用Counter和ID。 enter image description here 。正如您在上面所看到的那样。我有7个项目,它创建了7个呼叫。移动csv中的下一个项目。此项的deedis\u matchNr=0,因此它不会进入循环并向前移动。 enter image description here 在下一项中,DeedIDs\u matchNr=2,但它没有进入循环。 enter image description here 看起来它在内存中以某种方式保存了以前的DeedIDs\u matchNr=0,并且没有正确读取实参数。Loopcontroler配置: enter image description here 有什么想法和解决方法吗?请参见屏幕截图。

    1 回复  |  直到 7 年前
        1
  •  3
  •   Ori Marko    7 年前

    您不应该使用循环控制器来循环变量数组,有一个专用的控制器- ForEach controller :

    ForEach控制器循环遍历一组相关变量的值。将采样器(或控制器)添加到ForEach控制器时,每个样本(或控制器)都会执行一次或多次,其中在每个循环期间,变量都有一个新值。

    介绍完后,就把 Input variable prefix 领域 DeedIDs 并且在 Output variable 字段写入变量名称为 currentDeedID 并在循环内使用它来获取当前值 ${currentDeedID}