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