2017-02-28 105 views
-1

我的需求需要生成1980年到2016年的動態年份值。如何將Java腳本傳遞給Jmeter腳本?

我們爲此需求編寫隨機java命令。但無法通過Jmeter腳本。

我可以知道如何通過jmeter腳本傳遞值,因爲我們需要使用任何採樣器,否則如何將java腳本轉換爲beanshell?

年份應該動態生成。

回答

1

最小年份:(儲值到minYear變量,以後參考吧)

${__Random(1980,2006, minYear)} 

最大年份:(使用minYear,計算maxYear值,你可以參考它以後使用${maxYear}

${__intSum(${minYear},10,maxYear)} 

參考: enter image description here


不需要JavaScript

嘗試使用__Random功能如下:

${__Random(1980,2016)} 

將回到1980年和2016年

可選之間的隨機數,你可以將該值保存到一個變量中,然後參考它。

${__Random(1980,2016, MyVar)} 

將在1980年到2016年之間返回一個隨機數並將其存儲在MyVar中。訪問在以後通過${MyVar}

+0

這裏使用功能做的是我的要求 [請檢查該鏈接查看我的要求] [1 ]:https://i.stack.imgur.com/aD43n.png 我們已經使用$ {__ Random(1980,2016,MyVar)}函數,但現在新的需求是年前,而maxyear應該是10年的差異。在這種情況下,我們不能使用$ {__ Random(1980,2016,MyVar)}函數嗎? –

+0

您可以將最低年份保留爲'$ {__ Random(1980,2006,MyVar)}'(減少10年),並將'maxYear'值保存爲'$ {myVar} + 10'。更新了答案。請檢查。 –

+0

工作正常,我只是在** JSR223採樣器中插入隨機命令**這很好,或者我需要在不同的採樣器中提及? –

1
  1. 首先的JavaScript!= Java中,他們是完全不同的語言

  2. 第二,由於你把你的類(或庫)在JMeter Classpath你應該能夠調用它從JSR223 Test Elements

  3. 第三種方法,JMeter的提供__Random() function可以從給定範圍內返回一個整數,這樣你就可以生成一個隨機一年就這麼簡單${__Random(1980,2016,)}

    JMeter Random Function

How to Use JMeter Functions職位系列的更多信息,什麼可以在JMeter的

+0

這是好事,但是,這是我的代碼如何通過函數 「 <值名稱=‘FILTERNAME’>期 <值名稱=‘DbColumn’> v_auth.PUBLICATION_YEAR <值名稱=‘過濾式’ >今年 <值名稱= 「選擇」>範圍 <值名稱= 「OperatorName」>是 <列表名稱= 「FilterValues」> $ {minyear} $ {maxyear} ' 和新的需求最小年和最大年應該是10年的時間間隔。在這種情況下,我認爲我們不能使用隨機變量,我認爲 –

+0

插入你的創造力。獲取'1980 - 2006年'範圍內的初始最小日期,並使用[__intSum()函數]獲取匹配的最大日期(https://www.blazemeter.com/blog/how-use-jmeter-functions-part-iii )。 –