JMeter實現惟一參數生成不重複時間戳

現象:

使用jmeter作接口壓測時,總會遇到壓測時,提示不容許重複id或提示訂單不容許重複現象,那麼如何解決呢?html

原料工具

  • jmeter4.0
  • 本地準備好接口服務

思路:

  • 單個接口,小批量接口,通常以時間戳或者是日期格式的數據做爲接口測試參數,解決參數化問題;
  • 大批量接口壓測時,這上面的時間戳方式是不行的,秒級請求或者毫秒級別的請求不能知足大批量接口壓測需求,這時候須要用比毫秒小的單位納秒再作字符串拼接

時間戳函數操做:

一、經過函數助手,生成一個_time 函數:shell

 

二、若是參數爲時間戳,那公式爲:函數

${__time(,)}  :  默認該公式精確到毫秒級別, 13位數工具

${__time(/1000,)}  : 該公式精確到秒級別, 10位數測試

 

三、 若是參數須要爲當前日期,那公式爲:spa

${__time(yyyy-MM-dd,)}.net

${__time(YMDHMS,)}code

實例demo演示:

一、使用jmeter建立一個爲 時間戳重複請求demo」 http請求,並添加查看結果樹

採用時間戳(日期格式化)形式組成惟一參數形式:${__time(yyyyMMddHHmmssSS,)}htm

 

二、使用jmeter建立一個爲 「時間戳不重複請求demo」  http請求,並添加查看結果樹

 採用時間戳(日期格式化+納秒函數)blog

添加前置處理器-->bean shell Preprocessor

 

beanshell部分:

long timeStamp = System.nanoTime();
vars.put("timeStamp",timeStamp+"");
log.info("---------------------------------------"+vars.get("timeStamp"));

三、運行結果:

第一個http請求(時間戳重複請求demo)結果:

顯然都是同樣的以下圖:

第二個http請求(時間戳不重複請求demo)結果:

 

本次練習jmeter工程下載連接:

https://download.csdn.net/download/wangqiang_cyou/10814770 

 

部分參考文章:https://www.cnblogs.com/kaibindirver/p/8964295.html

相關文章
相關標籤/搜索