是JMeter的新手。我用不同的数据集点击多个“post”调用。每个帖子调用都会产生唯一ID作为响应。我想再次以5分钟的间隔将每个唯一ID传递给“get”。我用正则表达式提取器提取了唯一的id。问题是,我只能将最后一个唯一ID传递给“get”调用而不是每个唯一ID。有没有办法可以创建动态正则表达式和下游值以供进一步使用?enter image description here
答案 0 :(得分:0)
您可以通过多种方式解决此问题。举几个名字:
int count = Integer.parseInt(vars.get("count"));
count = count + 1;
vars.put("count", count.toString());
然后,您可以进行迭代,直到在发出GET请求时达到While控制器中的count值,或者您可以减少计数。如果满足While语句中的条件,则两者都将提供相同的功能。另外,你可以使用一个带有count作为迭代次数的循环控制器,并且只需要另一个在循环生命周期内递增的计数。
答案 1 :(得分:0)
可能最简单的方法是使用增量后缀,如:
添加__counter()函数作为"参考名称"的后缀。像
每次调用正则表达式提取器时,都会创建一个新的batchid_N
变量,其中N
是__counter()函数生成的递增数字
您可以根据需要将这些变量值作为${batchid_1}
,${batchid_2}
等进行访问。还可以通过__V()函数使用另一个JMeter函数或变量作为后缀值,如:
${__V(batchid_${yourVar})}
- 结合" batchid _"带有${yourVar}
变量的前缀
${__V(batchid_${__counter(,)})}
- 结合" batchid _"带有__counter()函数的前缀
有关上述和其他JMeter功能的更多信息,请参阅How to Use JMeter Functions文章系列。