Jmeter的官方提供的函數挺好用的,但是往往這些函數並不能滿足我們所有的需要。所以,我們需要編寫自己的擴展函數,下面以獲取當前(或者向前,向後)的時間為例。
1、首先編寫我們的java類,如具體代碼如下:
package com.ste.ruink.timetool;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TimeConvert {
/*
* 獲取時間,當前時間往前(後)多少秒,flag為前後標識符(pre-前,later-後,其他值時默認為當前)
* seconds為間隔時間多少秒,format為日期格式,默認為yyyy-MM-dd HH:mm:ss
*/
public static String getTime(String flag,long sec,String format){
//獲取當前時間戳
long timestamp = System.currentTimeMillis();
long finaltime;
if(flag==」pre」){
finaltime = timestamp - sec*1000;
}else if(flag==」later」){
finaltime = timestamp + sec*1000;
}else{
finaltime = timestamp;
}
//判斷format是否有值
if(format.equals(null)||format==」「){
format=」yyyy-MM-dd HH:mm:ss」;
String timestr = String.valueOf(finaltime);
String getdate = stampToDate(timestr,format);
return getdate;
* 將時間戳轉換為時間
public static String stampToDate(String s,String format){
String res;
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
long lt = new Long(s);
Date date = new Date(lt);
res = simpleDateFormat.format(date);
return res;
* 測試代碼
public static void main(String[] args) {
System.out.print(getTime(「」,60,」「));
}*/
2、使用eclipse把java導出成jar包,如timetool.jar。(導出jar包:選中要導出的java,然後右擊滑鼠,依次選擇Export->Java->JAR file,然後在界面中填寫導出的路徑,點擊Finish按鈕完成導出)
3、Jmeter 測試計劃底部的library找到timetool.jar,導入進去。
4、在Jmeter測試計劃下新建線程組,然後在線程組下添加BeanShell Sampler(線程組->添加->Sampler->BeanShell Sampler)
5、調用腳本,如在BeanShell Sampler中的script下添加:
import com.ste.ruink.timetool.TimeConvert; //標明類路徑
String time = TimeConvert.getTime(「」,0,」「); //調用類中getTime方法
return time; //返回獲取到的時間
6、在線程組中添加監聽器「察看結果樹」。然後再點擊執行,這時神奇的事情出現了,我們獲取到了當前的時間。
最後想更多了解的可以加我qq:3012665461
最後附上官方的函數幫助文檔地址:http://jmeter.apache.org/usermanual/functions.htm