Jmeter 參數化請求實例


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  運行並查看結果

 

 
  • 第二種方式:數據庫

添加:
 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 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM