jmeter jdbc variable names query
对于成为Jmeter的新手,我要多加道歉-我对JDBC请求不太满意-我在过去3个小时中浏览了该网站上的帖子-但我找不到任何相关的内容(除非我缺少任何内容)。
我的环境:Jmeter v2.11,JDK 7,Oracle 12
这很简单-我需要设置一个JDBC Sampler才能使用JDBC PreProcessor提供的值。
基本上,我有一个JDBCPreProcessor设置来标识下一个(新)记录的唯一引用(称为applicationID)。
JDBC预处理器详细信息
选择语句->从表中选择max(applicationID)1;
我有一个JDBC Sampler设置,我需要使用\\'max(applicationID)1 \\'值(由JDBC预处理程序确定)。
JDBC采样器详细信息
选择语句->从表中选择状态,其中applicationID = \\'max(applicationID)1 \\'
我不确定该怎么做。我查看了说明以及许多其他Jmeter JDBC请求帖子,但是恐怕找不到所需的相关信息。
我确实尝试过在JDBC PreProcessor中添加\\'maxrecordidvar \\'的\\'Variable Name \\'并设置JDBC Sampler查询->从表中选择状态,其中applicationID = maxrecordidvar
但是-这(显然)不起作用-我收到一个Oracle错误\\'ORA-00904:" MAXRECORDIDVAR ":无效的标识符\\'
再次,如果这是一个愚蠢的问题,请多多道歉,并非常感谢任何人都可以提供的所有/任何帮助!
我已经使用MYSQL模拟了这一概念,但是测试计划是相似的。
- JDBC预处理器获取整数
- 在后续的JDBC请求中使用该整数
首先,JDBC PreProcessor和JDBC Request不仅会简单地发出单个变量,还会根据您的姓名公开一些变量。例如
- 查询:选择CAST(RAND()* 242 AS UNSIGNED);
- 变量名称:foo
这意味着以后我可以访问
- $ {foo_#}-行数(应为1)
- $ {foo_1}-第一列第1行中的值
此查询只有一个列和一行,否则$ {foo_2}将是第一列第二行。JDBC Request上的更多文档
第二,要与我的JDBC请求一起使用,必须使用Prepared Select语句。传入$ {foo_1}作为参数值,传入INTEGER作为参数类型(我正在使用mysql)。
我发布了模拟负载测试和JMX文件。
我相信使用__intSum()或longSum()函数是将" applicationID "变量加1的简便方法。
请参阅"如何使用JMeter函数"帖子系列,以获取有关不同JMeter函数,放置位置,如何使用等的高级信息。