1、用時間函數:java
jmeter參數化,並且要取惟一值,能夠考慮用時間函數加上其餘函數一塊兒:dom
{"merchant_id":"615051940310129","biz_code":"1001","order_id":"${__time(,)}${__counter(,)}",
"order_amt":"100","bg_url":"www.baidu.com","sign":"22A356FF1010B22670417E2107DB4229"}
可是若是接口的處理能力很快,這個參數仍是會存在重複的id;函數
2、用UUID:優化
解決上面的問題,還能夠用UUID來做爲參數,UUID一般以36字節的字符串表示,示例以下:
ui
3F2504E0-4F89-11D3-9A0C-0305E82C3301
訂單ID多數是數字的,若是不須要「-」,能夠去掉。url
以下是分析在jmeter中如何使用:spa
1.新建一個事務;code
2.新建一個BeanShell Sampler;blog
3.新建一個http請求;接口
以下圖:
4.在BeanShell Sampler編寫UUID的代碼:
import java.util.UUID; UUID uuid1 = UUID.randomUUID(); //獲取UID的值 vars.put("order_id",(uuid1.toString()).toUpperCase().replaceAll("-","")); //去掉UUID的「-」,再賦值給order_id 運行獲取的參數就是:3F2504E04F8911D39A0C0305E82C3301 //vars.put("order_id",(uuid1.toString()).toUpperCase()); //這個就是不用去掉UUID的「-」 運行獲取到的參數就是:3F2504E0-4F89-11D3-9A0C-0305E82C3301
5.在http請求以下:
在BeanShell Sampler獲取到UUID的參數後,能夠在http請求頁面,直接用: "order_id":"${order_id}" 獲取。運行後,該參數值幾乎不出現重複的問題。
UUID能夠根據本身須要的參數,進行優化