Jmeter 參數化請求實例
在jmeter中的請求可以參數化,其中參數化的方式有4種:
1.CSV Data Set Config
2.數據庫
3.用戶自定義變量
4.用jmeter中的函數獲取參數值
第一種方式:CSV Data Set Config
1.創建一個data.txt文件,內容如下:
101010100,北京
101010200,海澱
101010300,朝陽
請求天氣的URL為:GEThttp://www.weather.com.cn/weather/101010100.shtml
2.創建
2.1 線程組
2.2 添加CSV Data Set Config
2.3 HTTP請求
服務器名稱或IP:www.weather.com.cn
協議為: http 方法為:GET
路徑為: /weather/${citycode}.shtml 其中${citycode}是引用CSV Data中citycode
2.4 添加斷言 ——斷言內容為${city} ,是引用CSV Data中city
2.5 添加監控——添加查看結果樹和聚合報告
2.6 運行並查看結果
第二種方式:數據庫
添加:
1.線程組
2.JDBCConnection Configuration
3.JDBC Request 請求 用戶id 為2的用戶名和性別 命令為:select concat(name,sex) from UserInfo where userid="2";
其中concat是把name和password連接起來,然後方便正則表達式進行提取
4.正則表達式提取器
正則表達式填寫:
Apply to: 默認即可
要檢查的字段:主體等選擇,一般選擇主體,即服務器返回給jmeter的頁面主體信息
引用名稱:定義的參數名稱,在後面步驟時可引用
正則表達式:正則表達式中()括起來的部分就是要提取的。
模板:$1$代表只有一組數據,$1$$2$代表有兩組數據
匹配數字:0代表隨機取值,1代表全部取值,通常情況下填0
缺省值:如果參數沒有取得到值,那默認給一個值讓它取
5.針對上一級數據庫請求返回的結果,添加查看結果樹,JDBC Request返回正確後,再新建HTTP請求,引用後置處理器取出的參數 name,引用方式${name}
name sex
liming female
7.針對HTTP請求添加查看結果樹,運行後,查看結果
第三種方式:用戶自定義變量
1.添加HTTP請求,引用 用戶自定義的變量 ${searchword} 和${ts}
2.添加用戶自定義變量( 添加-配置原件-自定義變量)
3. 運行查看結果
第四種方式:使用Jmeter自帶的函數獲取參數值
Jmeter中可以產生值的函數有:__Random( , , ),__threadNum,__CSVRead( , ),__StringFromFile( , , , )
各函數調用方法如下:
1)__Random( , , ),獲取值的方式:${__Random( param1,param2 ,param3 )},param1為隨機數的下限,param2為隨機數的上限,param3為存儲隨機數的變量名,是選填項。所以,也還可以這樣調用此函數:_Random(param1,param2,param3),然後再取param3的值。
2)__threadNum,獲取值的方式:${__threadNum},這個函數沒有任何參數,它用於得到當前運行的線程編號。
3)__CSVRead( , ),獲取值的方式:${__CSVRead(param1,param2)},param1是文件名,param2是文件中的列(列數從0開始)。具體操作見csv數據提取部分的說明。
4)__StringFromFile( , , , ),獲取值的方式:${__StringFromFile(param1,param2,param3)},param1是文件名,param2、param3為選填項:param2—存儲結果的變量,param3—文件開始列,網上找到一點此函數的用法,來自:
1.函數:${_StringFromFile(文件名.dat)}
2.外部文件的格式必須為.dat
3.默認讀取位置為/bin下,也可以自己設定文件存放路徑,如:${_StringFromFile(e:user.dat)},從e盤下讀取user.dat文件中的數據
4.每次讀取文件中的一行
5.如果我有多個user文件,想一起讀取,文件名分別為user1 user2。函數寫為:${_StringFromFile(user#.dat,,1,2)},從默認目錄下讀取user1和user2的文件
6.如果一個文件想讀取多次,可以寫成:${_StringFromFile(user.dat,,,2)},user1文件讀取2次
]
【說明】關於Jmeter的函數使用,可以用Jmeter的函數助手對話框:點擊Jmeter的“選項”,選擇“函數助手對話框”(或者使用快捷鍵“Ctrl+F”),在“選擇一個功能”的下拉框中選擇你所要是有的函數,在函數參數列表的“值”這一欄,填寫好相應的參數值,點擊按鈕【生成】,就可以拷貝生成的函數字符串進行使用了。用函數助手生成函數__Random字符串的截圖。