有可能在 JMeter 中生成随机双数吗?
我尝试在配置元素中使用Random
我已经定义的
Minimum value: 47.9999 (RND1)
Maximum value: 30.9999 (RND2)
然后在选定的已准备好的选定语句中我放置了以下值:
Parameter values: ${RND1},${RND1},${RND2}
Parameter types: DOUBLE,DOUBLE,DOUBLE
但它似乎不起作用,因为我收到一个错误:
响应消息:java.sql.SQLException:由于 java.lang.NumberFormatException,无法将类 java.lang.String 转换为请求的 SQL 类型 - 对于输入字符串:“${RND1}”
答案1
看起来${RND1}
没有扩展到它在你的JDBC请求中的值,因为它没有初始化随机变量配置项-因为最后一个只生成整数值(以及jmeter的__随机的功能)。
要在定义的范围内生成随机双精度值,可以使用如下模式:
1.将 MIN 和 MAX 范围值定义为用户定义变量
RND1 37.9999
RND2 41.9999
2.使用例如在 RND1..RND2 范围内生成随机双精度值Beanshell 采样器:
- 参数:
${RND1},${RND2}
- 脚本(Java代码):
导入 java.util.*; 字符串[] params = 参数.split(“,”); double rangeMin = Double.valueOf(params[0]); double rangeMax = Double.valueOf(params[1]); 随机r =新随机(); double randomValue = rangeMin + (rangeMax - rangeMin) * r.nextDouble(); vars.put("RND",randomValue.toString()); //系统.out.println(随机值);
添加调试采样器,Jmeter variables = true
让您看到生成的值以用于调试目的。
3.参考生成的随机值以${RND}
供进一步使用(在您的情况下是在 JDBC 请求中)