测试计划 线程组 JDBC连接 JSR223采样器 JDBC请求 结果树
将代码放入JSR223采样器:
int id = Integer.parseInt( vars.get("party_id") );
vars.putObject("id", new Integer(id));
然后在JDBC Request中使用id:
select * from table where column = ?
Parameter Value: ${id}
parameter Type: NUMBER
似乎忽略了JDBC请求,并且结果树中没有显示输出。
请帮助调查问题...
提前致谢
答案 0 :(得分:0)
用户定义变量存储String
但不存储Integer
的值。我想知道JMeter控制台(日志)中是否有任何错误/警告。
将整数转换为String以将其放入UDV。
如果您希望它是一个整数,请指定$ {UDV}。如果要在SQL查询中将其作为varchar,请添加引号('$ UDV')
答案 1 :(得分:0)
重现了你的问题,看起来JDBC Sampler不接受整数,只接受字符串。
我在jmeter.log中遇到以下错误,猜你也是:
2014/01/04 11:30:14错误 - jmeter.threads.JMeterThread:错误时 处理采样器'JDBC Request':java.lang.ClassCastException: java.lang.Integer无法强制转换为java.lang.String
因此绝对不需要你的强制转换为整数。尝试将JSR223代码更改为以下内容:
vars.put("id", vars.get("party_id"));
应该可以正常工作。
该位告诉MySQL哪个数据类型将变量绑定到ParameterType
节。你需要在那里指定paratemer类型,而不是JSR223