2016-11-30 55 views
0

I have variable name message defined in test plan. I want it to be a value of data in groovy. After implementing this I am getting error.如何获得在JMeter的

我想传递一个变量在JSR223采样常规的测试计划,并从csv文件定义的常规变量的值。该变量在测试计划中定义。基本上有$ {user_id}和$ {__ time(,curTime)}为测试计划中的消息值定义$ {user_id}是我从csv文件获得的值和$ {__ time(,curTime)}是以毫秒为单位的当前时间的函数。 基本上我想要一个输出值作为user_id对应的时间戳以毫秒为单位。

对于E.g如果$ {USER_ID}值是ABCD和的$值{__时间(,CURTIME)}是1478965236574然后,我期待值如在JSR223采样可变数据abcd1478965236574。我可以得到这个值吗?

回答

2
  1. 如果你想连接2个变量:如果要生成新的时间戳”

    def value = vars.get("user_id") + System.currentTimeMillis() 
    

vars是一个速记user_idcurTime

def value = vars.get("user_id") + vars.get("curTime"); 
  • JMeterVariables提供读取的类实例/写入对JMeter变量的访问权限。

    请记住,你不应该内嵌JMeter的变量和像${Message}功能到脚本主体,使用vars.get("Message")不是作为内联变量导致编译缓存失效,因此你失去的主要Groovy的好处。有关更详细的说明和编写脚本的最佳做法,请参阅Beanshell vs JSR223 vs Java JMeter Scripting: The Performance-Off You've Been Waiting For!

  • +0

    谢谢德米特里这就是我要找的。 我可以从日志输出到HTTP请求的Jmeter? – Nikhil

    +0

    上面的答案是:在Groovy中使用'vars.put(“encodedData”,encodedData)'并在需要的地方将值作为'$ {encodedData}'引用,在你的HTTP请求采样器 –

    +0

    中很感谢。我得到了解决方案。 – Nikhil