1. 程式人生 > 實用技巧 >jmeter獲取系統時間做為引數來傳遞

jmeter獲取系統時間做為引數來傳遞

在實際的介面用例測試中,有些介面是需要輸入當前時間的,而且格式各異,那麼有沒有方法可以直接獲取時間呢?有的,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中的時間引數值也和預期一致;