Apache Jmeter + 随机双倍

Apache Jmeter + 随机双倍

有可能在 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 请求中)

相关内容