Jmeter參數化(普通參數、動態參數)


 

1.1     參數化

截止現在,一個http請求的配置已經完成,可使用該腳本運行點擊jmeter的運行按鈕查看。並發測試必然需要使用到參數化。參數化有以下幾種方法。

參數化的格式一般均為:

${},如¥{user}

1.1.1      CSV

可在本地新建txt,將參數存儲在txt中,以“,”隔開,保存的時候選擇utf-8的編碼格式。

 

內容如下:

 

 

然后在jmeter中添加配置元件CSV。

 

 

1.1.2      隨機數

隨機數可使用jmeter中的隨機函數生成,如:該APP登錄時使用的驗證碼即可用${__Random(000000,999999,)}來替代。

 

 

 

1.1.3      動態參數

如該APP客戶在登錄后會返回如下內容:

經過同開發通過,在登錄后很多接口都會在headers中帶着token和clentId(即登錄后返回的userID)。所以我們需要在登錄之后拿到token和userID的值。

 通過抓包工具,查看返回結果,結果為json格式。如下內容。

{

       "message": "登錄成功",

       "result": {

                ……

                "userId": "171",

                ……

       },

       "returnCode": 200,

       "token": "b15f18b0e424eb3f603eba9166f38f65c25652808d4d4b6bb1bfaec8c04fe1ae"

}

因此我們在登錄腳本中增加后置處理器:bean shell postprocessor。

 

 

錄入如下內容。

import net.sf.json.JSONObject;  //導入json解析用到的jar

 

String input = prev.getResponseDataAsString(); 

           JSONObject jsonObject = JSONObject.fromObject(input);

           JSONObject result = jsonObject.getJSONObject("result");

           String userid = result.getString("userId");

     String token = jsonObject.getString("token"); 

 

//把獲取到的字符串,賦值給對應的變量。后續的請求中,就可以通過 ${userid}這樣的方式,讀取到這個值了。

vars.put("userid",userid);

vars.put("token",token);

 

因在登錄后的接口都會在headers中帶着token和clentId,所以我們需要在這些請求下增加“http信息頭管理器”,並將參數添加進去即可。

 
 


免責聲明!

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



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