我想把一些参数传递给我的请求主体。我不想发送随机字符串。但是我需要传递选定值中的随机值。例如;我有5个值,比如说value 1,value 2,value 3,value 4,value 5。我需要传递这5个值中的随机值。我该怎么做呢?有什么建议吗
f4t66c6m1#
"简单的方法"您可以使用JMeter Plugins提供的chooseRandom函数"艰难的路"使用Beanshell预处理器获取随机值,如下所示:1.将Beanshell预处理器添加为请求的子级,您需要随机化哪个参数1.将您的value1,value2,value3,value4,value5输入到预处理器的“参数”输入中1.将以下代码放入预处理器的“脚本”区域
value1,value2,value3,value4,value5
String[] params = Parameters.split(","); Random random = new Random(); String randomValue = params[random.nextInt(params.length)]; vars.put("randomValue", randomValue);
1.如有需要,将生成值表示为${randomValue}请参见以下参考信息1.简易方式:Installing JMeter Plugins1.硬方式:How to use BeanShell: JMeter's favorite built-in component
${randomValue}
a0x5cqrl2#
假设你有一个变量foo,它可以是a、b或c,你想让采样器从这个集合中选择一个随机值。创建用户定义变量foo1=a foo2=b foo3=c然后,在您的http请求默认值中使用以下内容:${__RandomFromMultipleVars(foo1|foo2|foo3)}瞧,统一的随机选择,不需要脚本或插件编辑:如果您正在使用javascript,请考虑以下一行代码:${__javaScript(Array("a"\, "b"\, "c")[Math.floor(Math.random()*3)])} ^^创建一个包含三个元素的数组,并从其中返回一个随机元素。没有变量,没有问题:)
foo
a
b
c
${__RandomFromMultipleVars(foo1|foo2|foo3)}
${__javaScript(Array("a"\, "b"\, "c")[Math.floor(Math.random()*3)])}
n3schb8v3#
如何传递特定值而不是随机值,即对于动态值,我们如何实现这一点
3条答案
按热度按时间f4t66c6m1#
"简单的方法"
您可以使用JMeter Plugins提供的chooseRandom函数
"艰难的路"
使用Beanshell预处理器获取随机值,如下所示:
1.将Beanshell预处理器添加为请求的子级,您需要随机化哪个参数
1.将您的
value1,value2,value3,value4,value5
输入到预处理器的“参数”输入中1.将以下代码放入预处理器的“脚本”区域
1.如有需要,将生成值表示为
${randomValue}
请参见以下参考信息
1.简易方式:Installing JMeter Plugins
1.硬方式:How to use BeanShell: JMeter's favorite built-in component
a0x5cqrl2#
假设你有一个变量
foo
,它可以是a
、b
或c
,你想让采样器从这个集合中选择一个随机值。创建用户定义变量foo1=a foo2=b foo3=c
然后,在您的http请求默认值中使用以下内容:
${__RandomFromMultipleVars(foo1|foo2|foo3)}
瞧,统一的随机选择,不需要脚本或插件
编辑:如果您正在使用javascript,请考虑以下一行代码:
${__javaScript(Array("a"\, "b"\, "c")[Math.floor(Math.random()*3)])}
^^创建一个包含三个元素的数组,并从其中返回一个随机元素。没有变量,没有问题:)n3schb8v3#
如何传递特定值而不是随机值,即对于动态值,我们如何实现这一点