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}引用,以此類推....
缺省值:如果沒匹配到,默認給它一個值。一般用於后續的邏輯判斷,定義為大寫的英文字母,例如ERROR。

3、判斷token是否取到(判斷這個正則寫的對不對)

  這個只是我個人使用的一個偏門方法。很簡單,發送一個get請求,然后帶上要引用的參數(這里是token),看請求的url即可。

4、計算賬單

5、查看結果樹

-----------------------------分割線---------------------------------

  關於Jmeter最最最基礎的東西,我就寫到這里了。因為我之前用過一段時間的Loadrunner,所以寫的這些大部分都是模擬我用loadrunner時的一些操作,而不是Jmeter的全面介紹。如果路過的看客想對Jmeter相關的知識有個系統的學習或者較深入的了解,建議去翻翻官方文檔吧,或者看看一些其他人的博客,比如老_張賀滿等等。

  接下來,不知道還會不會繼續深入學習Jmeter。公司下半年的任務是api自動化,從零開始,開始踩坑之路...

 

____兩袖青蛇,劍開天門


免責聲明!

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



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