Apache Jmeter +随机双

是否有可能在JMeter中产生随机双数?

我试图在我已经定义的configuration元素中使用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转换为请求的SQLtypes – 对于inputstring:“$ {RND1}”

看起来${RND1}没有扩展到你的JDBC请求的值,因为它没有初始化随机variablesconfiguration项 – 因为最后一个是只生成整数值(以及Jmeter的__Random函数)。

要在定义的范围内生成随机double值,可以使用如下所示的模式:

1.在用户定义的variables中定义MIN和MAX范围值作为variables

 RND1 37.9999
 RND2 41.9999

2.使用例如Beanshell采样器在范围RND1..RND2中生成随机双值:

  • 参数: ${RND1},${RND2}
  • 脚本(java代码):
 import java.util。*;

 String [] params = Parameters.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());

 //System.out.println(randomValue);

添加debugging采样器 ,使用Jmeter variables = true可以查看生成的值以进行debugging。

3.引用生成的随机值作为${RND}以供进一步使用(在您的案例中的JDBC请求中)