jmeter-无法捕获使用math.floor生成的随机数

jmeter-无法捕获使用math.floor生成的随机数,jmeter,Jmeter,我可以看到响应中计算的随机数如下 var rndnum=Math.floor(Math.random()*11) 后续请求期望传递此rndnum。无法查看响应中生成的数字。如果我只是传递一些随机数,那么响应时间很长,而且不正确 有什么帮助吗?您需要使用以下命令将结果存储在JMeter变量中: 变量put('rndnum',''+rndnum) 有两种选择: rndnum变量出现在响应中。如果是这样的话,您应该能够使用 响应中不存在变量rndum变量。如果是这样,您可以通过JMeter自由生成0到

我可以看到响应中计算的随机数如下
var rndnum=Math.floor(Math.random()*11)

后续请求期望传递此rndnum。无法查看响应中生成的数字。如果我只是传递一些随机数,那么响应时间很长,而且不正确


有什么帮助吗?

您需要使用以下命令将结果存储在JMeter变量中:

变量put('rndnum',''+rndnum)

有两种选择:

  • rndnum
    变量出现在响应中。如果是这样的话,您应该能够使用
  • 响应中不存在变量
    rndum
    变量。如果是这样,您可以通过JMeter自由生成0到10之间的随机数,如:

  • 请注意,根据JMeter文件:

    JMeter不是浏览器,它在协议级别工作。就web服务和远程服务而言,JMeter看起来像一个浏览器(或者更确切地说,是多个浏览器);但是JMeter并不执行浏览器支持的所有操作。特别是,JMeter不执行HTML页面中的Javascript。它也不像浏览器那样呈现HTML页面


    因此,我的期望是您应该关注第2点。

    我可以在rdnnum生成和预期的位置共享响应和请求。响应:var rndnum=Math.floor(Math.random()*11);url='../WebPages/EE/OnlineForm.aspx?ContentType=EE@@EEOnlineForm@@formcontent&ReqType=MemberEEForm&activityInstanceId='+campInstanceid+“&rndnum=“+rndnum+”&FormOutput=Online”+requestedsection;请求:ContentType EE@@MembereOnlineForm@@formcontent ReqType MembereForm活动实例ID 346 rndnum 8是的,它是javascript,rndnum是http采样器参数。我使用了你的语句beanshell后处理器,它只返回字符串值“void”,没有返回rndnum。它不返回值,它将其存储在${rndnum}这是我从您的问题中了解到的。它将空字符串值存储在${rndnum}中,而没有存储响应中生成的实际随机数。检查日志您很可能在jmeter.log中出错。指向itI在日志中看不到任何错误,也可能在调试后处理器中获得相同的字符串值“void”。如果传递使用_random()函数生成的随机数,则采样时间太高且不正确。代理记录结果中的采样时间是准确的(与F12延迟相比),因为它通过了响应中生成的rndnum。
    ${__Random(0,10,)}