如何获取testplan中定义的变量的值,以及使用jmeter中的groovy从csv文件中获取的值

时间:2016-11-30 07:15:44

标签: groovy jmeter beanshell

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.

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

例如,如果 $ {user_id} 的值为abcd且 $ {__ time(,curTime)} 的值为1478965236574,那么我期待值为 abcd1478965236574 在JSR223采样器中的变量数据中。我能得到这个价值吗?

1 个答案:

答案 0 :(得分:2)

  1. 如果要连接2个变量:user_idcurTime

    def value = vars.get("user_id") + vars.get("curTime");
    
  2. 如果要生成新的时间戳“

    def value = vars.get("user_id") + System.currentTimeMillis()
    
  3. varsJMeterVariables类实例的简写,它提供对范围内JMeter变量的读/写访问。

    请记住,不应将JMeter变量和函数(如${Message}内嵌到脚本体中)使用vars.get("Message"),因为内联变量会导致编译缓存失败,因此您将失去主要的Groovy优势。有关更详细的说明和脚本最佳做法,请参阅Beanshell vs JSR223 vs Java JMeter Scripting: The Performance-Off You've Been Waiting For!