jmeter獲取系統時間做為引數來傳遞
阿新 • • 發佈:2020-11-16
在實際的介面用例測試中,有些介面是需要輸入當前時間的,而且格式各異,那麼有沒有方法可以直接獲取時間呢?有的,Jmeter提供了time函式來達成這一點,如下,開啟函式助手,找到__time這個函式,可以看到該函式有兩個引數,即格式和引數名稱,兩者都不是必填項,
- 格式:非必填項,格式如果不填那麼就是預設獲取當前時間的毫秒數(此項也常被用於介面引數中那些不允許重複的欄位);
- 引數名稱:非必填項,如果填了,則生成的時間會被放到該引數中,可以在任意地方呼叫這個引數,常用於多介面中某個值使用同一個時間引數的情況;
說明圖如下所示,在第二個紅框匯中的值部分輸入後(也可以不輸入),點選生成按鈕即可生成函式字串,copy後放到需要的位置即可;
如下為幾個常用的函式:
- ${__time(,)}:獲取當前時間的毫秒數;
- ${__time(,time_ms)}:獲取當前時間的毫秒數並存入引數
time_ms
中; - ${__time(/1000,)}:獲取當前時間的秒數;
- ${__time(/1000,time_s)}:獲取當前時間的秒數並存入引數
time_s
中; - ${__time(yyyy-MM-dd,)}:獲取當前日期;
- ${__time(yyyy-MM-dd,time_date1)}:獲取當前日期並存入引數
time_date1
中; - ${__time(yyyy-MM-dd HH:mm:ss,)}:獲取當前時間,固定格式;
- ${__time(yyyyMMddHHmmss,time_2)}:獲取當前時間,固定格式,並存入引數
time_2
- ${__time(YMDHMS,)}:獲取當前時間,固定格式
範例如下(範例中均為Debug sampler):
結果如下:
前幾個請求值是符合要求的,最後一個Debug Sampler中的時間引數值也和預期一致;