jmeter - 如何在 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_ indx和associate_id_ indx:
&teamId=${team_id_<index>}&associateIds=${associate_ids_<index>}
但是,我尝试了几件事(做一个计数器、一个 __Eval 等),但我不能使用动态变量名来引用 BSF 设置的东西。
解决方案
请尝试以下方法;-
for(int i=1;i<=count;i++){
vars.get(“paramname_” + i)
}
此外,建议在 beanshell 上使用 groovy 以提高性能。
请检查这是否有帮助。