JMeter腳本---關於時間戳的處理筆記


  由於工作的需要,進行了一系列的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腳本:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM