在JMeter中選擇“選項-函數助手對話框”打開函數助手對話框。
選擇一個功能_Random。
設定最小值為1。
設定最大值為100。
函數名稱設為func1。
點擊生成將生成一個引用字符串${_Random(1,100,func1},在需要的請求參數中拷貝該字符串即可。
其中函數名稱用來在引用中作區別,即我們可以設定不同的名稱在不同的地方引用同一個函數的功能
例如:我們生成了兩個串${_Random(1,100,func1)}、 ${_Random(1,100,func2)},在添加圖書的請求中,我們在bookName的參數值中引 用${_Random(1,100,func1)},在bookConcern的參數值中應用${_Random(1,100,func2)},見截圖, 這樣測試運行時不同的線程將產生不同的bookName和bookConcern。
參數化設置-CSV Data Set Config(1)
在線程組上點擊右鍵選擇添加-配置元件-CSV Data Set Config,打開CSV Data Set Config。
Filename文件名:即參數化要引用的文件名。這里是d:\number.txt
File encoding文件編碼:可以不填。
Variable Names(comma-delimited)變量名(用逗號分割):多個變量可以引用同一個文件,用逗號分割。這里是num1,num2
Delimiter(use ‘\t’ for tab):參數文件中多個變量值的分隔符,\t表示用tab鍵分割,默認是逗號。
Recycle on EOF?:結束后是否循環?默認是True.
Number.txt文件內容見截圖。
參數化設置-CSV Data Set Config(2)
在添加圖書的請求中,我們在bookName的參數值中引用${num1},在bookConcern的參數值中應用${num2},見截圖,這樣測試運行時不同的線程將產生不同的bookName和bookConcern。
動態數據關聯
在HTTP請求的參數中經常會遇到一些參數的值是從服務器相應的動態數據,這些數據需要進行關聯才能使得每一次請求都能成功得被服務器接受,在JMeter中采用正則表達式提取器來獲取這些動態的數據。
正則表達式允許用戶從服務器響應中獲取數據,作為一個后置處理器,正則表達式提取器會在每一個請求執行后再執行,正則表達式提取請求的參數值,產生模板字符串,并將結果保存到給出的變量中。
動態數據關聯(1)-正則表達式提取器
在HTTP請求的參數中經常會遇到一些參數的值是從服務器相應的動態數據,這些數據需要進行關聯才能 使得每一次請求都能成功得被服務器接受,在JMeter中采用正則表達式提取器來獲取這些動態的數據。比如我們想要獲得從服務器相應的TOKEN,就可以 使用下面的正則表達式提取器。
使用時就可以使用${token_g1}來表示獲取到的TOKEN值。如下圖:
使用命令行運行JMeter腳本
JMeter -n -t my_test.jmx -l log.jtl
-n告知JMeter采用非圖形化運行JMeter腳本
-t指定要運行的腳本文件
-l指定保存執行結果的文件名
執行命令前要檢查當前目錄是否是%JMeter_Home%\bin 目錄;
如果 JMeter 腳本不在當前目錄,需要指定完整的路徑;如果要把執行的結果保存在其他地方也要指定完整的路徑。
利用XSLT分析JMeter結果文件(1)
將結果文件的擴展名改為xml,例:將log.jtl改為log.xml。
在log.xml的文件頭
中添加
使之變成
其中href指定xsl文件的路徑,如果與xml文件在同一目錄,則只寫文件名即可,否則要寫明詳細路徑。
利用XSLT分析JMeter結果文件(2)
將修改后的xml文件用瀏覽器打開即可得到統計結果
JMeter中進行分布式測試
作為一個純 JAVA 的GUI應用,JMeter對于CPU和內存的消耗還是很驚人的,所以當需要模擬數以千計的并發用戶時,使用單臺機器模擬所有的并發用戶就有些力不從心, 甚至還會引起JAVA內存溢出的錯誤。不過,JMeter也可以像 LoadRunner 一樣通過使用多臺機器運行所謂的代理來分擔負載產生器自身的壓力,并借此來獲取更大的并發用戶數,我們只需手動配置一下即可。
1、在所有期望運行 JMeter作為 負載產生器的機器上安裝JMeter,并確定其中一臺機器作為 控制器,其他的機器作為 代理。然后運行所有 代理 機器上的JMeter-server.bat文件—假定我們使用兩臺機器172.20.80.47和172.20.80.68作為 代理;
2、在Controller 機器的JMeter安裝目錄下找到 bin 目錄,再找到 jmeter.properties 這個文件,使用記事本或者其他文字編輯工具打開它;
3、 在打開的文件中查找“remote_hosts=”這個字符串,你可以找到這樣一行“remote_hosts=127.0.0.1”。其中的 127.0..0.1 表示運行JMeter代理的機器,這里需要修改為“remote_hosts=172.20.80.47,172.20.80.68”;
4、保存文件,并重新啟動控制器機器上的JMeter,并進入啟動 ->遠程啟動菜單項。就會看到我們剛才添加的兩個代理的地址,選中即可運行,如果想同時啟動所有代理,選擇遠程全部啟動即可。
要進行分布式測試代理機器上需要添加環境變量,即添加用戶變量JMETER_HOME=d:\jmeter,系統變量中的path中添加d:\jmeter\bin(假設jmeter放在d盤根目錄下)。
OK 簡單的介紹到此 希望大家多動手練 才是王道~
原文轉自:http://www.blogjava.net/qileilove/archive/2012/04/09/373628.html