JMeter學習筆記——認識JMeter(1)

tao先生發表於2015-03-02

        拿到一個自動化測試工具,我們第一步就應該瞭解它能提供我們哪方面的功能(最直接的方法就是從官網獲取),接下來就是簡單的對這個工具進行“功能測試”了,當然這裡的功能測試不是讓你找它存在的bug,而是讓自己對它有一個直觀的認識,後面的功能測試也是為前面的認識做鋪墊的,那我們就依賴這個原則來認識下JMeter。

 

JMeter是幹嘛的(主要是官網翻譯——> http://jmeter.apach.org

      JMeter是一個純粹的Java編寫的應用程式,它主要是用來進行負載和效能測試。設計JMeter最初始的目的是用來測試Web Application但是現在已經擴充套件了很多功能。JMeter通常被用來對一些靜態的或者動態資源(比如PHP, Java,ASP.Net等編寫的Web,或者是Java Object, Data Bases and Queries, FTP 伺服器等等)進行效能測試。 它通常模擬大量的資料對一個Server或者一個Server Group 網路等進行負載測試。然後通過分析它產生的效能圖表來判斷測試結果。

     

安裝JMeter

BadBoy(可以用來輔助JMeter錄製) 下載地址: http://www.badboy.com.au/download/add

JMeter 下載地址: http://jmeter.apache.org/download_jmeter.cgi

     1.  將下載好的安裝包解壓到指定的目錄下面,然後啟動JMeter “\apache-jmeter-2.12\bin\jmeter.bat”,就能看到一個JMeter的GUI介面,

1

        

    2. JMeter預設情況下會根據系統的語言來選擇JMeter自身的語言,輕鬆改變JMeter語言:

2

 

元件知多少

1. 執行緒組

每一個測試用例都必須存在一個或多個執行緒組,如果有多個執行緒組(我們在執行測試的時候,他們是同時執行執行緒組下面的Sampler)

每個執行緒組下面有三個重要的引數:

  • 執行緒數: 就是JMeter虛擬出的使用者數量,設定多少個執行緒數就模擬多少個使用者。
  • Ramp-Up Period(In Second): 用多長時間執行完這些執行緒數,舉個例子,比如設定執行緒數100,設定 Ramp-Up Period(In Second)為20,代表的意思就是20秒之類執行完這100個執行緒,也就是1秒鐘執行5個執行緒數
  • 迴圈次數: 對這些執行緒數迴圈多少次,比如設定的執行緒數100,然後設定的迴圈次數為20,意思就是說每個執行緒要執行20次,那麼100個執行緒就是執行     100*20 次。

對於setUp Thread Group 和 tearDown Thread Group,如果用過Junit的話對於 setUp和tearDown就應該不會陌生了,

setUp Thread Group代表的意思就是在執行執行緒組之前所進行的操作;

tearDown Thread Group代表的意思就是在執行完所有的執行緒組之後所需要進行的操作。

3    

3_2

1.1 執行緒組下面有兩個重要的控制器

邏輯控制器:用來自定義JMeter的邏輯(if—else, for 迴圈等等)決定JMeter什麼時候傳送請求,以及重複多少次。

Sampler(取樣器):向伺服器中傳送請求,以及等待響應。Sampler有多重型別的響應器,比如HTTP請求,JDBC請求等等,不同Sampler根據設定的引數向伺服器傳送不同的請求,

 

3_3

 

配置元件 (Configuration elements)

配置元件主要是用來維護Sampler需要的配置資訊,並根據實際的需要和設定的範圍(邏輯控制器來設定)來修改請求的內容。

7

 

定時器(Timers)

預設情況下,JMeter執行緒傳送請求時彼此之間是不會等待的,我們可以通過定時器來進行控制,如果存在多個定時器會採用疊加的方式來設定延遲時間。

12

 

前置處理器和後置處理器 (Pre-Processors and Post-Processors)

主要是負責生成請求之前和之後的工作,前置處理器用來修改Sampler請求前的設定,後置處理器用來處理Sampler執行後的響應資料。

8         9

 

斷言(Assertions)

斷言准許你來判斷預期結果和從伺服器返回的資料進行比較,增加斷言能夠直接判斷你所測試的程式返回的資料是否正確,相當於LoadRunner的檢查點。它還有一個重要的特點就是隔離問題域,在確保功能正常的前提下執行壓力測試。

10

 

監聽器(Listeners)

收集測試結果並以不同的表格形式展現出來。

11

 

 

JMeter 執行順序

  1. 配置元件(Configuration elements)
  2. 前置處理器(Pre-Processors)
  3. 定時器(Timers)
  4. 取樣器(Sampler)
  5. 後置處理器(Post-Processors)
  6. 斷言(Assertions)
  7. 監聽器(Listeners)

注意: 定時器,斷言,前置和後置處理器都是圍繞著取樣器來進行應用的。

舉個例子來說明這點:

  • Controller

               Post-Processor 1

               Sampler 1

               Sampler 2

               Timer 1                                               

               Assertion 1

               Pre-Processor 1

               Timer 2

               Post-Processor 2

執行的順序:

Pre-Processor 1

Timer 1

Timer 2

Sampler 1

Post-Processor 1

Post-Processor 2

Assertion 1

 

Pre-Processor 1

Timer 1

Timer 2

Sampler 2

Post-Processor 1

Post-Processor 2

Assertion 1

相關文章