1. 程式人生 > >Jmeter基礎(一)

Jmeter基礎(一)

req 自己的 sampler http請求 而不是 案例 查看 cookie 環境

作者:授客

原文鏈接:Jmeter 創建一個web測試計劃

1、下載Jmeter

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

下載後解壓到你想“安裝”的路徑下,比如:

D:\Program Files\apache-jmeter-3.1

2、配置環境變量

新建JMETER_HOME系統環境變量,值設置為Jmeter所在的路徑,

D:\Program Files\apache-jmeter-3.1\bin

技術分享圖片

註意:JMeter JVM兼容版本為JVM6或更高版本

3、運行Jemeter

雙擊bin目錄下的jmeter.bat,打開界面

4、創建測試計劃

測試計劃描述了Jmeter運行時會執行的一系列步驟

創建web 測試計劃

技術分享圖片

步驟1:添加用戶

添加一個線程組(Thread Group)元素,線程組元素告訴Jmeter你想模擬的用戶數量,用戶發送請求頻率及發送請求數。

右鍵測試計劃,添加線程組(Add --> ThreadGroup)

技術分享圖片
添加線程組後

技術分享圖片

說明:

線程數(Number of Threads(users)):也就是要模擬的用戶數

Ramp-Up Period(in seconds):告訴Jmeter開啟每個用戶之間的時間間隔。如果我們有5個用戶,並設置Ramp-Up Period(in seconds)為5秒,那麽開啟每個用戶的時間間隔為1秒(5 users / 5 seconds = 1 user per second)。如果你設置為0,那麽Jmeter將立即開啟所有用戶(線程)。

循環次數(Loop Count):告訴Jmeter重復運行多少次測試。如果選擇永遠(Forever),那麽將一直重復運行。

設置後
技術分享圖片

備註:Jmeter的設置是即時保存的

步驟2:添加默認的HTTP請求屬性

定義用戶將要執行的任務(這裏可采用默認設置)

右鍵線程組,添加默認的HTTP請求默認值(Add --> Config Element --> HTTP Request Defaults)

技術分享圖片

技術分享圖片

服務器名稱或(Server Name Or IP). 對於你創建的測試計劃來說,所有http請求將發送到該服務器。

例中,測試僅填寫域名,jmeter.apache.org,如下,其它保留默認值

技術分享圖片

步驟3:添加Cookie支持

幾乎所有的web測試都應該使用cookie支持,除非應用程序特地指明了不使用cookie。僅需添加一個HTTP Cookie管理器(HTTP Cookie Manager)來添加cookie支持。這將保證每個線程可以獲得自己的cookie,但是cookie為所有HTTP請求對象共享。

右鍵線程組,添加HTTP Cookie Manager(Add --> Config Element --> HTTP Cookie Manager)
技術分享圖片

技術分享圖片
步驟4:添加HTTP請求

右鍵線程組,添加http請求(Add --> Sampler --> HTTP Request)

技術分享圖片

例中,添加2個http請求。
第一個:Jmeter主頁:
http://jmeter.apache.org/

第二個:Changes頁面:
http://jmeter.apache.org/changes.html

Jmeter按它們出現在左側樹中的順序發送請求。

設置路徑(Path): /

記住:沒必要再設置服務器名(Server Name),你已經在HTTP Request Defaults元素中設置了該值。

技術分享圖片

添加第二個請求

技術分享圖片

步驟5:添加一個監聽器來查看保存的測試結果

監聽器是你最後需要添加一個元素.該元素負責將所有HTTP請求結果存儲在一個文件中並且以可展示視化數據模型.

右鍵線程組,添加圖形結果監聽器( Graph Results listener) (Add --> Listener --> Graph Results).

技術分享圖片

然後,指定目錄和輸出文件名

技術分享圖片

備註:輸入不存在的文件名,打開時會報錯,但是不影響。測試完成後自動新建指定的文件並保存數據。

技術分享圖片

運行

技術分享圖片

步驟6:登錄網站

這本與案例無關,但是有些web站點要求執行特定操作前必須先登錄網站。在一個web瀏覽器中,登陸表現為代表用戶名和密碼的表單以及提交表單的按鈕。點擊提交按鈕時,生成一個POST請求,把表單項的值作為參數傳遞。

為了實現登錄,添加一個HTTP請求,並設置方法為POST。需要知道表單使用的域的名稱及目標頁面,這可以通過檢查登錄頁面的的代碼中查找到【如果你覺得這很難,你可以用Jmeter Proxy Recorder錄制登錄操作】。

如下,設置提交按鈕的目標頁面的路徑,點擊添加按鈕,輸入用戶名和密碼詳細信息.有時候登錄表單會包含隱含信息,這些也需要添加

技術分享圖片

高級設置

1、使用HTTP URL Re-writing Modifier

如果你的web應用程序使用了URL重寫技術,而不是使用會話cookie,那麽需要做點額外的工作來測試你的網站。

Jmeter需要解析從服務器下載的HTML並接收唯一的會話ID來正確響應URL重寫。使用合適的 HTTP URL Re-writing Modifier來完成這個任務。

技術分享圖片

簡單的在修飾符中輸入會話ID參數名,它將查找給定參數並將參數添加到每個請求中,如果請求已經擁有參數值了,則將替換原有參數值。. 如果勾選“Cache Session ID?”(是否緩存會話ID),那麽最後一次緩存的會話ID將被保存,並且如果前一個HTTP實例沒包含會話ID,那麽將使用該會話ID

技術分享圖片

註意:

1.URL Re-writing modifier添加到簡單控制器(SimpleController),這樣,它僅影響位於SimpleController下的請求.

說明:
技術分享圖片

如果勾選【路徑擴展(使用”;”作為分隔符)】復選框,那麽意味著會話ID應該作為路徑的一部分(由一個”;”分割),而不是一個請求參數

2、使用請求頭管理器(Header Manager)

HTTP Header Manager讓你可以自定義Jmeter在HTTP request header中發送的信息。 請求包含類似"User-Agent", "Pragma", "Referer"等等屬性

The HTTP Header Manager , 類似 HTTP Cookie Manager , 應該添加到線程組,除非出於某些原因,你想為不同的HTTP請求對象指定不同的請求頭。

技術分享圖片

技術分享圖片

參考連接:

http://jmeter.apache.org/usermanual/get-started.html
http://jmeter.apache.org/usermanual/build-web-test-plan.html

Jmeter基礎(一)