1. 程式人生 > 其它 >jemter簡單測試方式

jemter簡單測試方式

Jmeter是一款優秀的開源測試工具, 是每個資深測試工程師,必須掌握的測試工具,熟練使用Jmeter能大大提高工作效率。

**開源,他是一款開源的免費軟體,使用它你不需要支付任何費用,

**小巧,相比LR的龐大(最新LR11將近4GB),它非常小巧,不需要安裝,但需要JDK環境,因為它是使用java開發的工具。

**功能強大,jmeter設計之初只是一個簡單的web效能測試工具,但經過不段的更新擴充套件,現在可以完成資料庫、FTP、LDAP、WebService等方面的測試。因為它的開源性,當然你也可以根據自己的需求擴充套件它的功能。

環境搭建:

jemter安裝地址:http://jmeter.apache.org/

jemter官方學習地址:http://jmeter.apache.org/index.html

二.使用jemter做介面測試:

這裡我們要注意有兩種介面方式是很常用的:get和post,

下面來演示兩者的不同。為了更好的區分,我在這裡先簡單的演示下它的不同:

get請求:http://localhost:8080?username=anqi&password=123456

post請求:http://localhost:8080

這樣看是不是清楚多了

1.找到你安裝的資料夾,找到bin資料夾,執行jemter.bat.開啟jemter

2.新建一個執行緒組:

執行緒數:虛擬使用者數。一個虛擬使用者佔用一個程序或執行緒。設定多少虛擬使用者數在這裡也就是設定多少個執行緒數。

準備時長:設定的虛擬使用者數需要多長時間全部啟動。如果執行緒數為20,準備時長為10,那麼需要10秒鐘啟動20個執行緒。也就是每秒鐘啟動2個執行緒。

迴圈次數:每個執行緒傳送請求的次數。如果執行緒數為20,迴圈次數為100,那麼每個執行緒傳送100次請求。總請求數為20*100=2000。如果勾選了“永遠”,那麼所有執行緒會一直髮送請求,一到選擇停止執行指令碼。

(這裡要做介面測試,所以各個引數為均1。)

3.新增一個http請求:

4.例子:我要傳送一個get方法的http

(這裡順路說一下用post請求跟get請求有什麼區別,同樣是圖片來說明)

我要傳送一個post方法的http

(這裡對比一下就很容易看出區別了,get請求直接填就好了,post請求需要新增值)


get請求和post請求的區別:

1.get請求的字尾在位址列裡提交,post請求在webfroms中顯示,以表單形式提交

2.get請求資料比較小,post請求資料比較大。

3.post請求相對比較安全


名稱:本屬性用於標識一個取樣器,建議使用一個有意義的名稱。

註釋:對於測試沒有任何作用,僅使用者記錄使用者可讀的註釋資訊。

伺服器名稱或IP:HTTP請求傳送的目標伺服器名稱或IP地址。

埠號:目標伺服器的埠號,預設值為80。

協議:向目標伺服器傳送HTTP請求時的協議,可以是http或者是https,預設值為http

方法:傳送HTTP請求的方法,可用方法包括GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE等。(一般使用get和post)

Contentencoding:內容的編碼方式,預設值為iso8859

路徑:目標URL路徑(不包括伺服器地址和埠)

自動重定向:如果選中該選項,當傳送HTTP請求後得到的響應是302/301時,JMeter自動重定向到新的頁面。

UsekeepAlive:當該選項被選中時,jmeter和目標伺服器之間使用Keep-Alive方式進行HTTP通訊,預設選中。

Usemultipart/from-dataforHTTPPOST:當傳送HTTPPOST請求時,使用Usemultipart/from-data方法傳送,預設不選中。

同請求一起傳送引數:在請求中傳送URL引數,對於帶引數的URL,jmeter提供了一個簡單的對引數化的方法。使用者可以將URL中所有引數設定在本表中,表中的每一行是一個引數值對(對應RUL中的名稱1=值1)。

5.點選執行按鈕,檢視其結果。

除了使用檢視結果樹,我們常用的檢視資料的方法還有新增聚合報告檢視結果。

得到以下結果頁面。

Label:每個JMeter的element(例如HTTP Request)都有一個Name屬性,這裡顯示的就是Name屬性的值

Samples:表示你這次測試中一共發出了多少個請求,如果模擬10個使用者,每個使用者迭代10次,那麼這裡顯示100

Average:平均響應時間——預設情況下是單個Request的平均響應時間,當使用了Transaction Controller時,也可以以Transaction為單位顯示平均響應時間

Median:中位數,也就是50%使用者的響應時間

90% Line:90%使用者的響應時間

Note:關於50%和90%併發使用者數的含義,請參考下文

http://www.cnblogs.com/jackei/archive/2006/11/11/557972.html

Min:最小響應時間

Max:最大響應時間

Error%:本次測試中出現錯誤的請求的數量/請求的總數

Throughput:吞吐量——預設情況下表示每秒完成的請求數(Request per Second),當使用了Transaction Controller時,也可以表示類似LoadRunner的Transaction per Second數

KB/Sec:每秒從伺服器端接收到的資料量,相當於LoadRunner中的Throughput/Sec

6.新增斷言:右鍵點選HTTP請求“新增”-->“斷言”-->“響應斷言”。

對於自動化測試來說,斷言必須要有的,如果沒有斷言我們只能人眼對比對介面返回的資料,有了斷言功能,就會簡化這個過程。Jmeter提供了豐富的斷言方法來幫助我們完成這個工作。

要測試的響應欄位:響應文字、Document(text)、URL樣本、響應資訊、Response Headers、Lgnore Staus等選項。雖然介面返回的是Json格式的資料,但對於Jmeter來說返回資料為文字,所以,這裡可以勾選“響應文字”

模式匹配規則:包括、匹配、Equals、Substring。這裡只需要驗證返回資料中是否包含主要的關鍵字,所以,這裡勾選“包括”。

要測試的模式:其實就是斷言的資料。點選“新增”按鈕,輸入要斷言的資料。

執行測試:

再次清除測試資料,點選啟動測試,檢視結果樹,如下圖。