1. 程式人生 > >Jmeter 參數化請求實例

Jmeter 參數化請求實例

設定 onf spa fonts targe lan cti watermark 如果

Jmeter 參數化請求實例

在jmeter中的請求可以參數化,其中參數化的方式有4種:
1.CSV Data Set Config
2.數據庫
3.用戶自定義變量
4.用jmeter中的函數獲取參數值

第一種方式:CSV Data Set Config

1.創建一個data.txt文件,內容如下:
101010100,北京
101010200,海澱
101010300,朝陽
請求天氣的URL為:GET http://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 運行並查看結果

  • 第二種方式:數據庫

  • 請參閱Jmeter測試MySQL數據庫實例 ,
添加: 1.線程組 2.JDBC Connection Configuration 3.JDBC Request 請求 用戶id 為2的用戶名和性別 命令為:select concat(name,sex) from UserInfo where userid="2"; 其中concat是把name和password連接起來,然後方便正則表達式進行提取
  • 4.正則表達式提取器
技術分享 正則表達式填寫:
  1. 註釋:隨便
  2. Apply to: 默認即可
  3. 要檢查的字段:主體等選擇,一般選擇主體,即服務器返回給jmeter的頁面主體信息
  4. 引用名稱:定義的參數名稱,在後面步驟時可引用
  5. 正則表達式: 正則表達式中()括起來的部分就是要提取的。
  6. 模板:$1$代表只有一組數據,$1$$2$代表有兩組數據
  7. 匹配數字:0代表隨機取值,1代表全部取值,通常情況下填0
  8. 缺省值:如果參數沒有取得到值,那默認給一個值讓它取
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次
] 轉載:http://blog.csdn.net/youxiansanren/article/details/51199863

Jmeter 參數化請求實例