全網最全最細的jmeter接口測試教程以及接口測試流程(入門教程)
一、Jmeter簡介
Jmeter是由Apache公司開發的一個純Java的開源項目,即可以用於做接口測試也可以用於做性能測試。
Jmeter具備高移植性,可以實現跨平臺運行。
Jmeter可以實現分佈式負載。
Jmeter采用多線程,允許通過多個線程並發取樣或通過獨立的線程對不同的功能同時取樣。
Jmeter具有較高擴展性。
二、Jmeter安裝
1、安裝JDK,必須JDK1.7以上的版本,推薦1.8的版本
2、進入官網:http://jmeter.apache.org/download_jmeter.cgi 下載最新的Jmeter版本,下載後解壓到非中文目錄,如:D:\
3、配置Jmeter的環境變量。
(1) 新增變量:JMETER_HOME:D:\apache-jmeter-5.2.1
(2) 在CLASSPATH變量的最前面加入如下變量: %JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;
(3)在PATH變量的最前面加入如下變量:%JMETER_HOME%\bin;
4、進入D:\apache-jmeter-5.2.1\bin,雙擊jmeter.bat,或在dos窗口輸入jmeter命令打開jmeter界面,安裝成功。
對於真正的零基礎來說:安裝請按如下步驟完成:
windows下安裝jmeter? mac下安裝jmeter? So Easy那多不是事!寫給jmeter入門的朋友!
三、設置Jmeter語言為中文環境
1、臨時設置
Jmeter菜單欄選擇OptionsàChoose LanguageàChinese (Simplified)
這種方法,重啟軟件後又變為英文環境瞭。
2、永久設置
進入apache-jmeter-5.2.1\bin目錄,找到“jmeter.properties”文件,在文件的第37行後添加“language=zh_CN”,保存之後再打開jmeter就永久變為中文環境瞭。
四、Jmeter主要元件
1、測試計劃:是使用 JMeter 進行測試的起點,它是其它 JMeter測試元件的容器
2、線程組:代表一定數量的用戶,它可以用來模擬用戶並發發送請求。實際的請求內容在Sampler中定義,它被線程組包含。
3、配置元件:維護Sampler需要的配置信息,並根據實際的需要修改請求的內容。
4、前置處理器:負責在請求之前工作,常用來修改請求的設置
5、定時器:負責定義請求之間的延遲間隔。
6、取樣器(Sampler):是性能測試中向服務器發送請求,記錄響應信息、響應時間的最小單元,如:HTTP Request Sampler、FTP Request Sample、TCP Request Sample、JDBC Request Sampler等,每一種不同類型的sampler 可以根據設置的參數向服務器發出不同類型的請求。
7、後置處理器:負責在請求之後工作,常用獲取返回的值。
8、斷言:用來判斷請求響應的結果是否如用戶所期望的。
9、監聽器:負責收集測試結果,同時確定結果顯示的方式。
10、邏輯控制器:可以自定義JMeter發送請求的行為邏輯,它與Sampler結合使用可以模擬復雜的請求序列。
五、Jmeter元件的作用域和執行順序
1.元件作用域
配置元件:影響其作用范圍內的所有元件。
前置處理器:在其作用范圍內的每一個sampler元件之前執行。
定時器:在其作用范圍內的每一個sampler有效
後置處理器:在其作用范圍內的每一個sampler元件之後執行。
斷言:在其作用范圍內的對每一個sampler元件執行後的結果進行校驗。
監聽器:在其作用范圍內對每一個sampler元件的信息收集並呈現。
總結:從各個元件的層次結構判斷每個元件的作用域。
2.元件執行順序:
配置元件->前置處理器->定時器->取樣器->後置處理程序->斷言->監聽器
註意事項:
1.前置處理器、後置處理器和斷言等組件隻能對取樣器起作用,因此,如果在它們的作用域內沒有任何取樣器,則不會被執行。
2.如果在同一作用域內有多個同一類型的元件,則這些元件按照它們在測試計劃中的上下順序依次執行。
六、Jmeter進行接口測試流程
使用Jmeter進行接口測試的基本步驟如下:
1.測試計劃
2.線程組
3.HTTP Cookie管理器
4.Http請求默認值
5.Sampler(HTTP請求)
6.斷言
7.監聽器(查看結果樹、圖形結果、聚合報告等)
七、Jmeter進行接口測試流程步驟詳解
1、測試計劃
打開Jmeter,在菜單左側出現 “測試計劃”。在這裡測試計劃我們可以把它理解成新建的空白項目,在這個空白項目下面可以添加一系列的接口。
2、線程組
添加方法:右鍵點擊Test Plan->添加->線程(用戶)->線程組。
元件描述:一個線程組可以看做一個虛擬用戶組,線程組中的每個線程都可以理解為一個虛擬用戶。
(1)線程數:即虛擬用戶數。設置多少個線程數也就是設置多少虛擬用戶數
(2)Ramp-Up時間(秒):設置虛擬用戶數全部啟動的時長。如果線程數為20,準備時長為10秒,那麼需要10秒鐘啟動20個線程。也就是平均每秒啟動2個線程。
(3)循環次數:每個線程發送請求的個數。如果線程數為20,循環次數為10,那麼每個線程發送10次請求。總請求數為20*10=200。如果勾選瞭“永遠”, 那麼所有線程會一直發送請求,直到手動點擊工具欄上的停止按鈕,或者設置的線程時間結束。
3、HTTP Cookie管理器
添加方法:右鍵線程組->添加->配置元件->HTTP Cookie管理器。
元件描述:HTTP Cookie管理器可以像瀏覽器一樣存儲和發送cookie,如果你要發送一個帶cookie的http請求,cookie manager會自動存儲該請求的cookies,並且後面如果發送同源站點的http請求時,都可以用這個cookies。
4、HTTP請求默認值
添加方法:右鍵線程組->添加->配置元件->HTTP請求默認值。
元件描述:HTTP請求默認值是為瞭方便填寫後續內容而設置。主要填寫[服務器名稱或IP]和[端口號],後續的HTTP請求中就不用每次都填寫IP地址和端口號瞭。
5、HTTP請求
添加方法:右鍵線程組->添加->Sampler->HTTP請求。
元件描述:HTTP請求包括接口請求方法、請求路徑和請求參數等。
HTTP請求詳解
(1)名稱:本屬性用於標識一個取樣器,建議使用一個有意義的名稱。
(2)註釋:對於測試沒有任何作用,僅用戶記錄用戶可讀的註釋信息。
(3)服務器名稱或IP :HTTP請求發送的目標服務器名稱或IP地址。
(4)端口號:目標服務器的端口號,默認值為80 。
(5)協議:向目標服務器發送HTTP請求時的協議,可以是HTTP或者是HTTPS ,默認值為http 。
(6)方法:發送HTTP請求的方法,可用方法包括GET、POST、HEAD、PUT、TRACE、OPTIONS、DELETE等。
(7)路徑:目標URL路徑(不包括服務器地址和端口)
(8)內容編碼:內容的編碼方式,默認值為iso8859
(9)自動重定向:如果選中該選項,當發送HTTP請求後得到的響應是302/301時,JMeter 自動重定向到新的頁面。
(10)使用keep Alive :保持jmeter 和目標服務器之間的活躍狀態,默認選中
(11)對Post使用multipart/from-data:當發送POST 請求時,使用multipart/from-data方法發送,默認不選中。
(12)同請求一起發送參數 : 在請求中發送URL參數,對於帶參數的URL ,jmeter提供瞭一個簡單的對參數化的方法。用戶可以將URL中所有參數設置在本表中,表中的每一行是一個參數值對(對應RUL中的 名稱1=值1)。
6、響應斷言
添加方法:右鍵HTTP請求->添加->取樣器->HTTP請求。
元件描述:檢查接口是否訪問成功。如果檢查失敗的話會提示找不到斷言的內容,沒提示的話就代表成功瞭。
Apply to
指斷言作用范圍,通常發出一個請求隻觸發一個請求,所以勾選“main sample only”就可以;若發一個請求可以觸發多個服務器請求,就有main sample 和sub-sample之分瞭。
(1)Main sample and sub-samples:作用於主請求和子請求
(2)Main sample only:僅僅隻作用於主請求
(3)Sub-samples only:僅僅隻作用於子請求
(4)Jmeter Variable:作用於jmeter變量(輸入框內輸入jmeter變量名稱)
測試字段
響應文本(匹配返回的json數據)、響應代碼(匹配返回碼:如200, 404,500等)、響應信息(匹配響應信息如“OK”字樣)、響應頭(匹配響應頭)、請求頭(匹配請求頭)、URL樣本(匹配請求的url鏈接,如果有重定向則包含請求url 和 重定向url)、[文檔(文本)](匹配響應數據的文本形式)、忽略狀態(一個請求有多個響應斷言,第一個響應斷言選中此項,當第一個響應斷言失敗時可以忽略此響應結果,繼續進行下一個斷言。如果下一個斷言成功則還是判定事務是成功的)、請求數據(匹配請求數據)
模式匹配規則
包括:響應內容包含需要匹配的內容即代表響應成功,支持正則表達式。
匹配:響應內容要完全匹配需要匹配的內容即代表響應成功,大小寫不敏感,支持正則表達式。
字符串:響應內容包含需要匹配的內容才代表響應成功,大小寫敏感,不支持正則表達式
相等:響應內容要完全等於需要匹配的內容才代表響應成功,大小寫敏感,不支持正則表達式
否:相當於取反,如果結果為true,勾上否就是false
或者:如果不想用AND連接(所有的模式都必須匹配,斷言才算成功),用OR選項可以用於將多個斷言模式進行OR連接(隻要一個模式匹配,斷言就是成功的)
測試模式
其實就是斷言的數據。點擊“添加”按鈕,輸入要斷言的數據。
7、增加監聽器
添加方法:線程組 ->右鍵添加 ->監聽器 ->察看結果樹。一般還會一並添加圖形結果、聚合報告。
元件描述:樹狀形式顯示接口的訪問結果,包括請求結果、請求內容、服務器的響應內容。
八、Jmeter接口測試必定用到的擴展閱讀
1.史上最全的最通俗易懂的-jmeter調試錯誤全集
//www.jb51.net/article/230615.htm
2.jmeter實現接口關聯的兩種方式:正則表達式提取器和json提取器看這篇就夠瞭
//www.jb51.net/article/230619.htm
九、總結
到此這篇關於全網最全最細的jmeter接口測試教程以及接口測試流程(入門教程)的文章就介紹到這瞭,更多相關jmeter接口測試內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!