首页 > 解决方案 > 如何在 jMeter HTTP 请求中动态引用变量?

问题描述

我正在设置一个需要首先读取一些 json 数据然后构建其他 http 请求的测试。

所以我有一些我首先检索的 json 是这样的:

Store Array
  -- Teams Array (Each store has some teams)
    -- Members (Each team has some members)

我创建了一些 BSF 代码来解析它:

vars.put("team_id_" + teamIndx,teamArray.get(teamIndx).get("id").asString());
vars.put("associate_ids_" + teamIndx, memberIdList);

这有效,我在调试采样器中看到了数据:

team_id_0=ABC
team_id_1=XYZ
associate_ids_0=92988,
associate_ids_1=105093,82959,95913,92256,31032,77896,

现在,我需要设置一个循环控制器(循环计数 = ${countOfTeams}),我需要在 URL 中传入 team_id_ indxassociate_id_ indx

&teamId=${team_id_<index>}&associateIds=${associate_ids_<index>}

但是,我尝试了几件事(做一个计数器、一个 __Eval 等),但我不能使用动态变量名来引用 BSF 设置的东西。

标签: jmeter

解决方案


请尝试以下方法;-

for(int i=1;i<=count;i++){
vars.get(“paramname_” + i)
}

此外,建议在 beanshell 上使用 groovy 以提高性能。

请检查这是否有帮助。


推荐阅读