我一直在阅读论坛、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 请求。非常感谢任何见解/启示!
在Excel中,我正在尝试执行以下操作:
如果sheet1列1 = sheet2列2,则返回sheet2列D中的值
我磕磕绊绊地想要如何做到这一点,因为我发现的每个例子似乎都使用包含公式的工作表的列索引值.(即sheet1)
我想:VLOOKUP(sheet1!A1,sheet2!A2:A11696,sheet2!4,FALSE)
我只能:VLOOKUP(sheet1!A1,sheet2!A2:A11696,4,FALSE)
在阅读其他主题后,我看到人们似乎建议使用INDEX.所以我试过了
=INDEX(sheet2!A2:A11696, MATCH(sheet1!A1004,sheet2!D:D,FALSE))
Run Code Online (Sandbox Code Playgroud)
这也不起作用.
首先,让我先介绍一下我只使用JMeter 36个小时的问题。
我已经能够成功创建一个执行 POST(json 正文)以生成新记录的线程。
{
"id":1257697771,
"displayName":"TERM2",
"functionName":"f_1257697771",
"displayableSourceExpression":"TRUE",
"typeId":200,
"groupId":300,
"clobObjId":1257697772,
"typeCode":5,
..........
}
Run Code Online (Sandbox Code Playgroud)
我需要获取返回的新记录的 ID (1257697771) 值,以便在其他线程中对此记录执行更新、获取 ID、删除等。
经过大量阅读后,我创建了一个正则表达式提取器,其中:
此时,我不确定我的正则表达式格式是否正确(其中 (.+?) 有效)。
另外,我很困惑是否可以在另一个线程的 HTTP 请求的参数中指定新引用(newRecord)或使用 BeanShell 后处理器或响应断言等......
对于“传递”的相同功能,有很多答案。作为一名程序员,我尝试遵循讨论“如何使用正则表达式提取器在 jmeter 中提取 json 响应数据? ”,但我仍然不清楚。
任何见解都值得赞赏。谢谢。