前言
通過測試基礎(三) Jmeter安裝 - 大風北吹 - 部落格園 (cnblogs.com)安裝完成Jmeter後,就可以使用Jmeter進行效能測試。
一、執行緒組
(1)、執行緒組分類
Jmeter執行緒組主要分為3類分別為執行緒組、setUp執行緒組、tearDown執行緒組
①執行緒組
這個就是我們通常新增執行的執行緒。通俗的講一個執行緒組,可以看做一個虛擬使用者組,執行緒組中的每個執行緒都可以理解為一個虛擬使用者。
②setUp執行緒組
一種特殊型別的ThreadGroup的,可用於執行預測試操作。這些執行緒的行為完全像一個正常的執行緒組元件。不同的是,這些型別的執行緒執行測試前進行定期執行緒組的執行;類似LoadRunner的init,測試開始時進行初始化的工作。
③tearDown執行緒組
一種特殊型別的ThreadGroup的,可用於執行測試後動作。這些執行緒的行為完全像一個正常的執行緒組元件。不同的是,這些型別的執行緒執行測試結束後執行定期的執行緒組;類似LoadRunnner的end,測試結束時進行回收工作。
(2)、執行緒組引數
三種不同執行緒組的引數設定頁面都一致
①在取樣器錯誤後執行的操作
1、繼續:繼續執行接下來的操作。
2、啟動下一次迴圈:開始下一次迴圈。
3、停止執行緒:退出該執行緒(不再執行此執行緒的操作)。
4、停止測試:等待當前執行的取樣器結束後,結束整個測試。
5、立即停止測試:馬上停止測試。
②執行緒屬性
1、執行緒數:相當於模擬的使用者數量。
2、Ramp-up 時間(秒):達到指定執行緒需要的時間,例如執行緒數為100,時間設定為10s,那麼就是10s載入 100個執行緒,每秒啟動的執行緒數=100/10=10。
3、迴圈次數:如果填具體的數值,就是迴圈對應的次數;如果選擇“Forever”,則一直執行下去,直到手動停止。
4、same user on each iteration:每次迭代都有相同的使用者,此功勾選為預設勾選。如果只是做介面測試則無需管這個引數,如果是要做模擬多執行緒的情況則需要取消勾選。
5、延遲建立執行緒直到需要:延遲執行緒建立,直到需要才建立。
(三)、排程器
1、持續時間(秒):測試計劃持續多長時間
2、啟動延遲(秒):測試計劃延遲多長時間啟動
二、Http請求
可線上程組-取樣器中新增HTTP請求
協議:向目標伺服器傳送http請求時的協議,http/https,大小寫不敏感,預設http
伺服器名稱或IP:需要呼叫的伺服器或IP
埠號:目標伺服器的埠號,預設值為80,可為空
HTTP請求:可以根據實際需要請求的介面,選擇請求的型別get/post...
路徑:目標的URL路徑(不包括伺服器地址和埠)
內容編碼:請求內容的編碼,一般使用UTF-8
自動重定向:如果選中該選項,當傳送HTTP請求後得到的響應是302/301時,JMeter 自動重定向到新的頁面。
跟隨重定向:Http Request取樣器的預設選項,當響應Code是3XX時,自動跳轉到目標地址。與自動重定向不同,jmeter會記錄重定向過程中的所有請求,在檢視結果樹可以檢視伺服器返回的內容,可以對響應的內容進行關聯。
使用keepalive:該選項被選中時,jmeter 和目標伺服器之間使用 Keep-Alive方式進行HTTP通訊,預設選中。
對POST使用multipart/form-data:當傳送HTTP POST 請求時,使用Use multipart/from-data方法傳送,預設不選中。
引數:可手動新增請求引數,會放到請求資料中,格式為引數名=引數。無法與訊息體資料共同使用。
訊息體資料:此資料會與請求一起發出,發出的格式為手動設定的格式。無法與引數選項共同使用。
檔案上傳:檔案上傳的介面在進行測試的時候需要在檔案上傳頁面設定上傳檔案的屬性。由檔名稱、引數名稱、MIME型別構成。
三、Jar包匯入
Jar包匯入分為三種方法
1、在測試計劃直接匯入jar包
2、lib目前匯入
可以把需要的jar包放入lib目前下,重啟後此jar包即可在Jmeter模組中使用
3、其餘目錄匯入
通過修改bin目錄下的jmeter.properties檔案中的plugin_dependency_paths,可以引用其餘目錄下的jar包。
四、HttpInvoker請求
HTTPInvoker是spring框架中的一個遠端呼叫模型,它的執行基於HTTP的遠端呼叫,並使用JAVA的序列化機制在網路間傳遞物件。
在Spring配置檔案中建立一個類HttpInvokerProxyFactoryBean的Bean,指定serviceUrl屬性為伺服器端的服務提供的URL,serviceInterface屬性為伺服器端配置的服務型別。
需要呼叫對應介面,便需要把介面配置到xml配置檔案中,並通過呼叫bean來完成遠端方法的呼叫。
①在jmeter檔案中新建xml檔案並把對應的xml檔案放入檔案中
② 新建執行緒組並線上程組中增加BeanShell 取樣器
③在Beanshell中匯入介面呼叫需要的jar包,並通過xml配置檔案獲取相應的Bean,引數組裝後即可呼叫相應的介面方法
五、正規表示式提取器
在一個執行緒組中,B請求如果需要使用A請求返回的資料,將上一個請求的響應資料作為下一個請求的引數,則需要對A請求的響應報文使用後置處理器,其中最方便常用的就是正規表示式提取器
引用名稱:Jmeter變數的名稱,儲存提前出的結果。
模板:表示使用提取到的第幾個值,$N$使用提取到的第N個值
匹配數字:正規表示式匹配資料的結果可以看成一個數值,0表示隨機取,正數N表示取第N個值。
預設值:匹配失敗時候的預設值
正規表示式:
():表示提取字串的部分值,前後是提取的邊界內容
?:出現在該符號之前的專案是可選的,最多匹配一次
*:匹配出現0次或多次的專案
+:匹配一次或多次之前的專案
$:匹配行末的空字串
{N}:精確匹配N次的先前專案
六、檢視結果樹
用來監控請求執行的結果,主要分為檢視結果樹、彙總報告、聚合報告等。
也可以下載第三方監聽器。