Jmeter之集合點與關聯
在Jmeter中,實現類似於LoadRunner中集合點的方法是采用同步定時器(Synchronizing Timer),而實現類似於LoadRunner中關聯的方法是采用正則表達式提取器。
一、集合點
訪問百度,然後查看結果樹,可以看到每個請求中的Sample Start(1s之內)都是一致的,驗證同步定時器生效。(要看效果的,請求數設成100+。為何呢,了解一下“並發”的定義可能會更明白些)
註意:同步定時器(Synchronizing Timer)要放在集合元件的前面。
二、關聯(Loadrunner中的關聯)
接口測試中,會有一種情況,下個接口的請求參數需要上級一個接口的返回數據,且是動態的。這種情況下怎麽處理呢,就需要“關聯”。
PS:哎,感覺這東西理解起來很簡單,解釋起來比較麻煩。不是很明白的看客,附上傳送門:http://www.cnblogs.com/fnng/archive/2013/03/07/2945303.html。
舉個例子,現在很多網站都需要先登錄,才能執行一些其他操作(比如計算賬單),即你在計算賬單之前需要讓系統知道你是登錄狀態。每個系統的校驗機制可能都不同,具體問自家開發,我所負責的系統是token校驗。
1、登錄獲取token
2、添加正則表達式(線程組-->右鍵添加-->後置處理器-->正則表達式提取器)
引用名稱:下一個請求要引用的參數名稱。填寫token,則可以用${token}引用
.匹配任何字符串
+一次或多次
?再找到第一個匹配項後停止
模板:格式為$m$。可以理解為使用匹配到的第幾個數據(可能會有多個匹配成功的數據,此時需要使用模板)。例如$1$就表示使用第一個正則表達式匹配成功的內容。如果是$1$2$,則表示把這兩個正則表達式所匹配的內容拼接起來返回使用。
匹配數字:匹配數據的最終結果可以看做一個數組,匹配數字則可看做是數組的第幾個元素。為0時,隨機返回匹配的數據,為負數時,返回全部數據。為1時。表示返回匹配結果數組的第一個元素,用${token_1}引用,以此類推....
3、判斷token是否取到(判斷這個正則寫的對不對)
這個只是我個人使用的一個偏門方法。很簡單,發送一個get請求,然後帶上要引用的參數(這裏是token),看請求的url即可。
4、計算賬單
5、查看結果樹
-----------------------------分割線---------------------------------
關於Jmeter最最最基礎的東西,我就寫到這裏了。因為我之前用過一段時間的Loadrunner,所以寫的這些大部分都是模擬我用loadrunner時的一些操作,而不是Jmeter的全面介紹。如果路過的看客想對Jmeter相關的知識有個系統的學習或者較深入的了解,建議去翻翻官方文檔吧,或者看看一些其他人的博客,比如老_張,賀滿等等。
接下來,不知道還會不會繼續深入學習Jmeter。公司下半年的任務是api自動化,從零開始,開始踩坑之路...
____兩袖青蛇,劍開天門
Jmeter之集合點與關聯