如何捕获将在JMeter中从循环生成的动态值

时间:2017-11-08 13:10:10

标签: jmeter beanshell

我有一个场景要测试一个事务需要多次迭代然后提交请求。对于每次迭代,我将获得一个detID(例如:20次迭代 - 20次唯一detID)。问题是在提交请求时,所有detID都在请求参数中传递(例如:if循环运行10次迭代,然后10个detID在请求中传递)。我已经将正则表达式提取器放入循环中的事务中,该事务将捕获所有的数学但是它只捕获最后一个。 (例如:if循环运行10次迭代,正则表达式捕获第10次迭代值)。 请帮帮我。我想在提交请求中包含这些detID。

1 个答案:

答案 0 :(得分:0)

  1. 使用正则表达式在请求前添加Counter
  2. 使用以下代码在正则表达式后添加BeanShell PostProcessor作为请求的子代:

    String ID = vars.get("ID");// ID is the reference name of your regex String Counter = vars.get("Counter");// Counter is the reference name of your regex vars.put("ID_"+ Counter, ID);

  3. 您将拥有20个不同的变量,每个变量拥有不同的ID值,您可以将它们用作第一个ID的$ {ID_1}和第二个ID的$ {ID_2},依此类推。