2016-11-30 35 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