我一直在阅读论坛、Apache JMeter指南和 BlazeMeter 的The Real Secret to Building a Database Test Plan With JMeter and using JDBC Sampler In JMeter,但我仍然有点迷失。
我需要发出查询以从表中提取 Obj ID 值并将该值传递到 HTTP READ 请求中。我已经完成了以下设置:
JDBC 请求
变量名称:Pool-1
查询类型:Select 语句
查询:select distinct ObjId from dbo.CommonRuleSet where Name like '%ABC%';
Param。值:
参数。类型:
变量名称:abcObjId
结果变量名称:abcCommonRule = vars.getObject("resultObject").get(0).get("ObjId");
查询超时(秒):5000
处理结果集:存储为对象
执行结果为:
ObjId
1136682203
我试图弄清楚如何将此 ObjId 值作为变量传递以附加 URL。
HTTP 请求
数据库:port/applicationServer/../../crud/CommonRuleSet/ ????
我尝试附加使用:
每次,JMeter 都不会转换变量,从而导致解析器错误。
(例如,http://database:port/.../.../.../crud/CommonRuleSet/${abcResult})
我只是不明白如何获取成功查询的结果并将其作为变量传递给 HTTP 请求。非常感谢任何见解/启示!
解决方案是:
//database:port/.../.../.../crud/CommonRuleSet/${abcObjId _1 })。
我想在发布我的问题之前我没有浏览足够的 BlazeMeter 页面。我在 JMeter 中找到了 Debugging JDBC Sampler Results 的解决方案。
解释变量名称和结果变量名称
之间的差异和用法的部分使所有的差异变得不同。我现在知道结果变量名称是 HashMap 的 ArrayList,在这种情况下我不需要它。
因此,我将结果变量名称字段从:更改为: result,
接下来,由于我想直接访问变量名称“abcObjId”,所以我将附加我的 URL 的变量从: ${abcObjId}修改为: ${abcObjId_1}。我是如此接近……如此接近……
感谢 dmitri-t 和 Blazemeter 的人们。
abcCommonRule = vars.getObject("resultObject").get(0).get("ObjId");
| 归档时间: |
|
| 查看次数: |
9566 次 |
| 最近记录: |