首页 > 解决方案 > Jmeter - 如何为每个控制器重置计数器?

问题描述

我正在点击每个控制器下有 2 个动态变量的 http 请求。

  1. 一个变量值来自每个控制器,另一个来自 Jmeter 计数器函数变量 - 看起来像这样 - ${hostResponse}/${_ V(account ${__counter(,)})}
  2. 我正在从 csv 文件执行多个 url 请求,在这里,对于第一行请求,hostReponse 和 account-counter 值根据我的要求正确迭代和更新多达 18 次。
  3. 现在对于请求的第二行 - 帐户计数器值不会重置并从第一个开始。它继续作为 account_19,account_20,account_21....

由于我是 Jmeter 的新手,有人可以建议在每次完整迭代后重置计数器变量的想法。

这是测试计划结构

标签: jmeterperformance-testing

解决方案


__counter() 函数每次被调用时都会生成一个递增的数字,因此您需要传递另一个参数来将生成的数字存储到一个单独的JMeter 变量中,例如:

${__counter(,counter2)}

然后根据${counter2}需要引用该值

甚至完全删除此功能,${__jm__ForEach Controller__idx}因为自JMeter 4.0以来 ForEach 控制器正在公开其当前迭代

在此处输入图像描述


推荐阅读