由於工作的需要,進行了一系列的API測試工作,根據自己的所得進行了一些整理。本人代碼知識很渣,所以很多時候都是求助於同事和網上資料。
由於自身的基礎不足,用過JMeter的人應該都了解,JMeter是基於Java開發出來一個軟件,所以其使用的腳本就是Java代碼寫的。通過自己不斷的嘗試,最后終於獲得自己想要的東西。腳本如下:
1 //Date date = new Date();//now=date.getTime(); 2 //vars.put("appointmentTime",now.toString()); 3 //now_date=date.getTime();
4 var now_date = new Date().getTime(); //獲取當前時間戳 5 vars.put("now_date",now_date.toString()); //賦值給對應的變量,方便調取 6 var new_date = new Date().getTime() + 40 * 60 * 1000; //當前時間戳 + 40分鍾 7 vars.put("new_date",new_date.toString()); //賦值新的變量,方便調取
8 //new_date = now_date.setTime(date.getTime()+10*60*1000); 9 //Date date =${__time(/1000,)}; 10 //now_date = Integer.parseInt([String],[int now_date]); 11 //now = Integer.parseInt(now_date); 12 //var new_date = now_date + (40 * 60 *1000);
看起來很多的樣子,卻只有中間的四行代碼。
下面詳細的分析一下第一句代碼(注釋部分不用理會)
1 var now_date = new Date().getTime();
代碼注釋:獲取當前時間戳---詳細的講:new Date().getTime() ,就是獲取當前系統的時間並將時間轉換為時間戳的格式,精確到毫秒(即13位的數字組成)。獲取當前系統時間使用的是:new Date() ,關於時間戳,網上有很多在線時間戳轉換的工具,感興趣的人可以去搜索一下就知道了。
以上代碼的意思,應該就不作詳細說明了。算了,還是簡單說明一下比較好,防止忘記了。代碼意思:將獲取的時間戳數值賦值給 now_date這個變量。
第二句代碼:
1 vars.put("now_date",now_date.toString());
由於腳本使用是在JMeter上,所以第一段代碼進行了賦值后的變量,需要拿來進行使用,所以加上這一句代碼。
代碼的意思:
now_date.toString() :將獲取的參數轉換為String(字符串格式)
vars.put("now_date",now_date.toString()):將now_date.toString()的值賦給了"now_date" ,應該很好理解了。
由於vars.put("now_date",now_date.toString()) :通過vars.put 將now_date提取出來,有人說是設置為JMeter的全局變量。
第三行代碼:
1 var new_date = new Date().getTime() + 40 * 60 * 1000;
40 * 60 * 1000:將40分鍾轉換為毫秒的計算
new Date().getTime() :獲取當前系統時間戳(毫秒級)
最后進行賦值,獲得的值 = 當前時間 + 40分鍾(為了腳本服務,所以很粗糙)
第四行代碼 與第二行代碼意思相同。
再來看一下對應的JMeter腳本: