Jmeter - while循环中的循环计数器在退出时不复位

时间:2017-08-30 15:25:09

标签: loops while-loop jmeter

我在Jmeter中有以下代码构造:

Test Plan
- CSV Data config (reading in test reacords)
- Execution Thread
- - Do While (contains condition Counter < 5)
- - - Counter element (set to start at 1, increment by 1)
- - - Http request sending test record to api

我得到的问题是,在每个测试记录发送完毕后,计数器没有重置,因此第一个记录通过正常工作(5次迭代),第二次记录在第一次迭代时停止。

我试过了: 1)在用户定义的变量中设置计数器 2)使用beanshell重置计数器元素(这根本不起作用)

我的测试使用单个线程组和单个用户线程。我的csv文件中的每条记录只能在系统中运行一次。

如何成功重置每条记录的计数器?

1 个答案:

答案 0 :(得分:1)

  1. 如果您的“迭代”来自Thread Group,请执行以下操作:

    JMeter Counter Reset

  2. 如果您的“迭代”不是由线程组驱动而来自ie Loop Controller,您可以通过以下Groovy脚本重置计数器:

    vars.put('Counter', '1')
    

    您可以在JSR223 Test Elements中的任何__groovy() functionJMeter 3.1中使用上述脚本。在后一种情况下,您需要将逗号转义为:

    ${__groovy(vars.put('Counter'\, '1'),)}