2015-12-09 61 views
0

在豆殼樣我收到線數如何通過線數的線程組在JMeter中如何傳遞BeanShell的採樣結果線程組

import org.apache.commons.io.FileUtils; 

int lines = FileUtils.readLines(new File("path to data file")).size(); 
vars.put("lines", String.valueOf(lines)); 

此行變量我想使用線程組我怎麼能做到這一點 請幫我在這

更新Debugsampler的輸出

JMeterVariables: 
JMeterThread.last_sample_ok=true 
[email protected]9f 
START.HMS=081505 
START.MS=1449648905577 
START.YMD=20151209 
TESTSTART.MS=1449652524822 
applicationname=test 
buildinfo=../data/Test.csv 
env=Test 
lines=77 
package=.zip 

回答

0

首先,你可以使用調試取樣驗證如果你成功地在變量中獲得所需的值。其次,你可以簡單地調用這個變量,就像JMeter中的其他用戶定義變量一樣。根據需要放置$ {lines}。

如果您仍然遇到任何問題,請發表評論或編輯您的問題以添加更多詳細信息。

+0

更新問題部分中的Debugsampler輸出,我能夠看到Debugsampler output.still中的值,我無法訪問ThreadGroup中的'lines'值作爲LoopCount – Users9949

+0

我不確定您是否可以訪問變量Threadgroup(循環計數)中的bean shell採樣器作爲beanshell採樣器應該在病房後運行。根據我的經驗,您可以從測試計劃的根目錄下的測試計劃或用戶定義的變量中完成。要生成所需的數字,你可以嘗試不同的JMeter函數,看看它是否適合你。 – TestingWithArif

0

您無法以此方式配置線程組循環計數,因爲它是在JMeter啓動時填充的。下面是選項:

  1. 使用Loop Controller相反,則可以通過可變
  2. 設置的迴路數在線程組定義「循環計數」的屬性,像${__P(loops,)}。在這種情況下,你可以得到CSV文件中的行測試前數,即使用相關的操作系統命令,如:

    • type c:\temp\file.csv | find /c /v "~~~" - 適用於Windows
    • cat /tmp/file.csv | wc -l在* nix

    和所得到的值傳遞給經由-J JMeter的命令行鍵:

    jmeter -Jloops=XX -t /path/to/your/testplan.jmx ... 
    

有關JMeter屬性以及設置和覆蓋它們的方法的更多信息,請參閱Apache JMeter Properties Customization Guide

相關問題