我一直在阅读论坛,Apache JMeter指南和BlazeMeter的The Real Secret to Building a Database Test Plan With JMeter和Using JDBC Sampler In JMeter,但我仍然有点失落。
我需要发出一个查询来从表中提取Obj ID值并将该值传递给HTTP READ Request。我做了以下设置:
JDBC请求
变量名称:Pool-1
查询类型:选择语句
查询:select distinct ObjId from dbo.CommonRuleSet where Name like '%ABC%';
帕拉姆。值:
帕拉姆。类型:
变量名称:abcObjId
结果变量名称:abcCommonRule = vars.getObject("resultObject").get(0).get("ObjId");
查询超时:5000
处理结果集:存储为对象
执行时导致:
ObjId
1136682203
我正在尝试弄清楚如何将此ObjId值作为变量传递以附加网址。
HTTP请求
数据库:端口/ ApplicationServer的/../../污物/ CommonRuleSet /的 ????
我尝试使用附加:
每次,JMeter都不会翻译变量,从而导致解析器错误。
(例如,http://database:port/.../.../.../crud/CommonRuleSet/
${abcResult}
)
我只是不了解如何获取成功查询的结果并将其作为变量传递给HTTP请求。非常感谢任何见解/启发!
答案 0 :(得分:2)
解决方案是:
//数据库:端口/.../.../.../污物/ CommonRuleSet / $ {abcObjId的 _1 强>})。
我想我在发布问题之前没有通过足够的BlazeMeter页面。我在Debugging JDBC Sampler Results in JMeter找到了解决方案。
解释变量名称和结果变量名称之间的差异和用法的部分完全不同。我现在明白结果变量名称是HashMaps的ArrayList,在这种情况下我不需要。
所以我将结果变量名称字段从 abcCommonRule = vars.getObject("resultObject").get(0).get("ObjId");
更改为:结果,
接下来,由于我想直接访问变量名称' abcObjId',我修改了附加我的网址的变量: $ { abcObjId}
to: $ {abcObjId_1}。
我太近了......太近了......
感谢dmitri-t和Blazemeter的人们。