1. 程式人生 > >Jmeter之集合點與關聯

Jmeter之集合點與關聯

第一個元素 表達式 接口測試 感覺 target 線程組 tro www. ror

  在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自動化,從零開始,開始踩坑之路...技術分享圖片

____兩袖青蛇,劍開天門

Jmeter之集合點與關聯